![](/img/trans.png)
[英]Javascript remove leading and trailing spaces from multiline string and replace the rest of whitespace chunks with commas
[英]Replace each leading and trailing whitespace with underscore using regex in javascript
var str = ' Some string ';
var output = str.replace(/^\s|\s(?=\s*$)/g , '_');
輸出應該如下所示
'___Some string____'
此代碼適用於尾隨空格,但所有前導空格都只用一個下划線替換。
這個工作的php正則表達式是: /\\G\\s|\\s(?=\\s*$)/
不漂亮,但完成工作
var str = " Some string ";
var newStr = str.replace(/(^(\s+)|(\s+)$)/g,function(spaces){ return spaces.replace(/\s/g,"_");});
這有效,但我不喜歡它:
var str = " some string ";
var result = str.replace(/^\s+|\s+$/g, function(m) {
return '________________________________________'.substring(0, m.length);
});
或者更靈活:
var str = " some string ";
var result = str.replace(/^\s+|\s+$/g, function(m) {
var rv = '_',
n;
for (n = m.length - 1; n > 0; --n) {
rv += '_';
}
return rv;
});
當然,這可以改進。
但我更喜歡epascarello的答案 。
另一個注冊表
var str = " asdf "
str.replace(/^[ ]+|[ ]+$/g,function(spc){return spc.replace(/[ ]/g,"_")})
//"__asdf_______"
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.