簡體   English   中英

如何僅在字符之前和之后替換空格而不在數字之前和之后替換空格

[英]How replace Space ONLY before and after Character not before and after number

我嘗試並發現的所有內容都將刪除所有空格。 但這不是我想要的

我的繩子是

 var str = "24 july 2014 12 5";

我想要

"24july2014 12 5"

我找到了這個代碼示例

var str = "Paul m'a dit « Bonjour ! »";
str = str.replace(/\s([!:\?…;»])/g, function (el1, el2) {
return ' ' + el2;
}).replace(/(«)\s/g, function (el1, el2) {
return el2 + ' ';
});
console.log(str);

但它對我的問題沒有改變。 也許我太多了菜鳥?

你可以這樣做。

 var str = "24 july 2014 12 5"; str = str.replace(/ (?=[az])/g, "").replace(/([az]) /g, "$1"); console.log(str); 

JS不支持回溯,因此一種解決方法是使用捕獲組和回顯。 前瞻支持另一個替換。


OP,根據您的評論,您似乎還希望解碼URL參數。 這是正確的方法:

 string = "alabama%20justin"; console.log(decodeURIComponent(string)); 

可能是一種更理想的方法,但只需簡單檢查一下它是一個空格,然后是alpha還是一個alpha后面是一個空格

"12 july 2014 12 5".replace(/\s+([a-z])|([a-z])\s+/ig,'$1$2')

要么

"12 july 2014 12 5".replace(/\s+([\D])|([\D])\s+/ig,'$1$2')

暫無
暫無

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

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