2014-04-07 56 views

回答

5
var str = ",abcd,efg,last,"; 
var res = str.replace(/^,|,$/g, ''); 
console.log(res); 

做到這一點

這將刪除逗號,如果處於啓動位置or在字符串的結束位置

0

必須有在Javascript中一些帶()函數,我不知道缺乏我的知識。但在這裏是如何使用正則表達式做到這一點:

output = ",abcd,efg,last,".replace(/^,|,$/g, ""); 
+0

_JavaScript_有'String.prototype.trim'但它需要無參數:((我想應該採取的列入黑名單的字符_String_ ..也許我會把它作爲答案) –

0

的JavaScript不包括這一個本地方法。最接近的是trim,但這並不需要任何參數。不過,我認爲它應該。所以,你可以寫這樣的事情

String.prototype.trim = (function (trim) { 
    if (!trim) // polyfill if not included in browser 
     trim = function() { 
      return this.replace(/^\s+|\s+$/g, ''); 
     }; 
    else if (trim.call('.', '.') === '') // already supports this 
     return trim; 
    return function (chars) { 
     if (!chars) return trim.call(this); 
     chars = chars.replace(/([\^\\\]-])/g, '\\$1'); 
     return this.replace(new RegExp('^['+chars+']+|['+chars+']+$', 'g'), ''); 
    } 
}(String.prototype.trim)); 

現在我們有

' foo '.trim(); // "foo" 
',,,foo,,,'.trim(','); // "foo" 
相關問題