带有特殊字符和空格的Javascript Regex
Javascript Regex with Special Character and Space
通过使用Javascript,我想转换文本
" [a] b [c]"
至
"[a] b [c]"
我的代码如下:
var test = " [a] b [c]";
test.replace(/'s+'[/g, "[");
alert(test);
然而,结果是
"[a] b [c]"
我想知道为什么?知道吗?
谢谢!
replace
不会更改test
,而是返回一个已更改的字符串。因此,您需要分配结果:
test = test.replace(/'s+'[/g, "[");
请注意,这将导致[a] b[c]
。要获得实际结果,您可能需要使用:
test = test.replace(/(^|'s)'s*'[/g, "$1[");
这样可以确保在第一个空格字符不在字符串开头的情况下将其写回。
或者,先使用trim
,然后手动写回一个空格:
test = test.trim().replace(/'s+'[/g, " [");
修剪
test = test.replace(/(^'s+|'s+$)/g, test);
或者,如果您的浏览器支持str.trim()
,您也可以使用它
test = test.trim();
注意:如果您需要支持不提供str.trim
的浏览器,您可以始终使用es5填充
将空间压缩为一个
test = test.replace(/'s+/g, " ");
单行
test = test.trim().replace(/'s+/g, " ");
几个测试
var cleanString = function(str) {
console.log(str.trim().replace(/'s+/g, " "));
};
var examples = [
" [a] b [c] ",
" [a] [b] [c] [d]",
"[a] b [c] ",
" [a] b [c] "
];
examples.map(cleanString);
输出
[a] b [c]
[a] [b] [c] [d]
[a] b [c]
[a] b [c]
相关文章:
- Javascript RegEx validator
- 包含圆括号的JavaScript Regex模式
- 要替换的Javascript Regex无法按预期工作
- Javascript/RegEx未验证HTML表单
- Isn't javascript regex lazy?
- javascript/regex忽略双引号中的分号
- 从javascript regex.exec分配多个变量
- JavaScript Regex 将单词替换为其第一个字母,除非在括号内
- JavaScript Regex(?i)选项中字符串大小写不敏感的部分不起作用
- JavaScript Regex,用于由特定字符串包围的数字和空格
- Javascript RegEx to XML Schema RegEx
- Javascript Regex Search
- Javascript Regex,在字符串中查找数字
- Javascript Regex选择每个非字母数字字符和空白
- Javascript Regex-删除未捕获的组
- Javascript-Regex,用于逗号分隔的字母数字
- Javascript Regex-从价格中抓取分隔符
- JavaScript:RegEx-不返回match1 match2等
- 将Javascript Regex结果转换为字符串(?)
- Javascript Regex替换HTML标记