2013-07-09 42 views
1

我只是試圖'繼續'我的循環,如果它是空白。我的目標是不允許任何空白進入'輸出'。我已經嘗試了以下所有內容,但它們都不起作用。簡單正則表達式空白檢查器

var input = document.getElementById('textinput').value; 
var lines = input.split('\n'); 
var output = ''; 
var patt1=/\s/g; 

$.each(lines, function(key, line) { 
    var parts = line.split(' '); 
for (var iii=0; iii<parts.length; iii++) 
{   
    if(parts[iii]==/\s/g) 
     {continue;} 

    output+= parts[iii]; 
} 

我也試過

if(patt1.test(parts[iii]) == true){continue;} 
if(patt1.test(\'+parts[iii]+\') == true){continue;} 
if (parts[iii]==" "|parts[iii]=="\n"|parts[iii]=="\t") continue; 
if (parts[iii]=== |parts[iii]===\n|parts[iii]===\t){continue;} 

萬一有幫助,如果我輸入,然後零件[III] == '雞'評估爲真。

+0

如果任何人有興趣,請在這裏(https://github.com/Raindrop11/ConsoleLogAutotyper/blob/master/console%20log%20autotyper.js)上下文/完整源代碼(它非常簡短)。我嘗試過'input.replace(/ \ s +/g,'');'但它不起作用。 – hexicle

回答

0

我會建議你使用的文字符號,並使用\ S字符類:

str.replace(/\s/g, ''); 

// .. 有使用字符類\ S,只是「之間的區別」,這會匹配很多更多的空白字符,例如'\ t \ r \ n'等等。尋找''將只替換ASCII 32空格。

當您想要構建動態模式時,RegExp構造函數非常有用,在這種情況下,您並不需要它。此外,正如你所說的,「[\ s] +」沒有與RegExp構造函數一起工作,那是因爲你傳遞了一個字符串,並且你應該「反轉」反斜槓,否則它們將會是解釋爲字符在字符串內部轉義(例如:「\ s」===「s」(未知的轉義))。