簡體   English   中英

Javascript 和正則表達式:刪除字符串中最后一個單詞后的空格

[英]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(/ +$/, "");

$在正常模式下匹配輸入的結尾(在多行模式下匹配一行的結尾)。

嘗試使用正則表達式( +)$因為正則表達式中的$匹配字符串的結尾。 這將從字符串末尾去除所有空格。

有些程序具有strip功能,但我不相信標准Javascript庫具有此功能。

正則表達式參考表

工作示例:

   var str  = "Hello World  ";
   var ans = str.replace(/(^[\s]+|[\s]+$)/g, '');

   alert(str.length+" "+ ans.length);

快進到2021年,

trimEnd()函數正是為此而設計的!

它將刪除字符串末尾的所有空格(包括空格、制表符、換行符)。

根據官方文檔,每個主要瀏覽器都支持它。 僅 IE 不受支持。 (老實說,鑒於微軟本身已於 2021 年 8 月放棄對 IE 的支持,您不應該關心 IE!)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM