javacriptに正規表現でメタ文字の周りのスペースを削除

Hrinikola:

削除せずに英数字以外の文字の周りにあるすべてのスペースを取り除くしようとしている文字のように述べ/\s*(\W)\s*/gデフォルトでしまいます

.replaceとスペースだけをターゲットにする方法は)(あり

例えば:

var regex = "/\s*(\W)\s*/g";
var text = "Words  : \"  text docs\"";
var text = text.replace(regex , "");
console.log(text)

期待されるテキスト:「言葉:」テキストドキュメント」

ような何か特殊な文字や単語のpythonの間に削除の空白が、JavaScriptで

Wiktor第Stribiżav:

あなたは心に留めなければならない\WASCII文字、数字、またはではない任意の「非単語」の文字にマッチします_\W、JSの正規表現は、に等しいです[^A-Za-z0-9_]したがって、それはまた、あなたが削除する必要があることを空白にマッチします。唯一の非空白非単語の文字を一致させることができるようにするには、交換する必要がある\W[^\w\s]パターン。

だから、残りはただで試合を交換された交換用の後方参照です。グループ1の値に$1JSで:

text = text.replace(/\s*([^\w\s])\s*/g , "$1")

参照してください。正規表現のデモを

JSは、デモ:

console.log("Some - text +=@!#$#$^%* here .        ".replace(/\s*([^\w\s])\s*/g , "$1"))

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=32563&siteId=1