2014-11-26 6 views
0

У меня есть следующий массив в JavaScript:Удалить пустые пространства в массиве строк (JavaScript)

["X1", "   X2", "  X3", "  X4", "  X5", "  X6", "  X YZ1", "  X YZ2", "  X7", "  X8", "  X9"] 

Я хотел бы удалить пустые пространства перед буквой начинаются, смотрите, например, X2. Но я хотел бы, чтобы пространство между X и YZ1 не удалялось.

Кто-нибудь знает, как я могу это сделать?

Заранее спасибо.

Greets.

+1

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/Trim – Abhitalks

ответ

2

RegEx заменить ведущие пробелы:

for (var i = 0; i < arr.length; i++) 
    arr[i] = arr[i].replace(/^\s+/, ""); 
0

Вы можете попробовать заменить()

strArray[0].replace(/\s/g, "") ; 
+0

Второй один не может 'пространство между X и YZ1 не удаляется' – SeinopSys

+0

replace() работает .... – AishwaryaVengadesan

0
for (var i = 0; i < array.length; i++) 
array[i] = array[i].trim(); 
} 
+1

trim() удаляет пробелы с обеих сторон строки. – AishwaryaVengadesan

0

здесь рабочий раствор, который добавляет новый метод к объекту Array.

Демо: http://jsfiddle.net/bnpeon25/

a = ["X1", "   X2", "  X3", "  X4", "  X5", "  X6", "  X YZ1", "  X YZ2", "  X7", "  X8", "  X9"]; 

Array.prototype.trimvals = function() { 
    for (var i = 0; i < this.length; i++) { 
     this[i] = this[i].replace(/^\s+/, ""); 
    } 
    return this; 
} 

console.log(a.trimvals()); 
0

Все современные браузеры поддерживают изначально .trim(). Ref: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/Trim

arr[i] = arr[i].trim(); 

Это не будет удалять пробелы, как вы заявили в своем вопросе.

В качестве альтернативы, если вы хотите избавиться от всех пробелов: ведущих, конечных и встроенных; то вы могли бы вы Regex:

arr[i] = arr[i].replace(/\s/g, ""); 

Сниппет с использованием .trim() (Ведущие и ведомые пробелы):

var arr = ["X1", "   X2", "  X3", "  X4", "  X5", "  X6", "  X YZ1", "  X YZ2", "  X7", "  X8", "  X9"]; 
 
for (var i = 0; i < arr.length; i++) { arr[i] = arr[i].trim(); } 
 
document.getElementById("result").innerText = arr.join(",");
<p id="result"></p>

Отрывок с помощью regex (Simple все пробелы) :

var arr = ["X1", "   X2", "  X3", "  X4", "  X5", "  X6", "  X YZ1", "  X YZ2", "  X7", "  X8", "  X9"]; 
 
for (var i = 0; i < arr.length; i++) { arr[i] = arr[i].replace(/\s/g, ""); } 
 
document.getElementById("result").innerText = arr.join(",");
<p id="result"></p>

Смежные вопросы