[英]Javascript and regex: remove space after the last word in a string
我有一個這樣的字符串:
var str = 'aaaaaa, bbbbbb, ccccc, ddddddd, eeeeee ';
我的目標是刪除字符串中的最后一個空格。 我會用,
str.split(0,1);
但是如果字符串的最后一個字符后沒有空格,這將刪除字符串的最后一個字符。
我想用
str.replace("regex",'');
我是 RegEx 的初學者,任何幫助表示贊賞。
非常感謝你。
用谷歌搜索“ javascript trim”,您會發現許多不同的解決方案。
這是一個簡單的例子:
trimmedstr = str.replace(/\s+$/, '');
當您需要刪除所有空格時:
str.replace(/\s*$/,'');
當您需要最后刪除一個空格時:
str.replace(/\s?$/,'');
\\s
不僅表示空格,還表示類似空格的字符; 例如標簽。
如果您使用jQuery,則還可以使用trim
函數:
str = $.trim(str);
但是trim
不僅會刪除字符串末尾的空格,而且還會刪除開頭的空格。
似乎您需要trimRight
函數。 直到Javascript 1.8.1才可用。 在此之前,您可以使用原型技術。
String.prototype.trimRight=function(){return this.replace(/\s+$/,'');}
// Now call it on any string.
var a = "a string ";
a = a.trimRight();
進一步了解JavaScript中的修剪字符串? 和兼容性列表
您可以使用以下代碼刪除單個尾隨空格:
.replace(/ $/, "");
要刪除所有尾隨空格:
.replace(/ +$/, "");
$
在正常模式下匹配輸入的結尾(在多行模式下匹配一行的結尾)。
工作示例:
var str = "Hello World ";
var ans = str.replace(/(^[\s]+|[\s]+$)/g, '');
alert(str.length+" "+ ans.length);
trimEnd()
函數正是為此而設計的!
它將刪除字符串末尾的所有空格(包括空格、制表符、換行符)。
根據官方文檔,每個主要瀏覽器都支持它。 僅 IE 不受支持。 (老實說,鑒於微軟本身已於 2021 年 8 月放棄對 IE 的支持,您不應該關心 IE!)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.