我目前有一串文本需要通过 jquery 进行修改。
> "space>space"
我目前有以下jquery来为我做替换
$('#breadcrumb').html($('#breadcrumb').html().replace(/&[^;]+;/g, ' - '));
我试图用单个 -
字符替换 >
,但是上面的正则表达式只是将输入字符串更改为 ---
而不是-
任何帮助将不胜感激!
最佳答案
那是因为你的正则表达式:
/&[^;]+;/g
正在寻找:
& an ampersand, followed by
[^;]+ one or more characters that are not semicolons, followed by
; a semicolon
因此
和 >
都匹配该模式。第二个/之后末尾的 g 表示进行全局替换 - 如果您将其保留,则只会替换第一个匹配项。
您需要:
.replace(/>/g, '-')
这会将 >
的所有实例更改为 -
,同时忽略其他所有内容。
如果您特别想仅在 >
被不间断空格包围的情况下替换它,有几种方法可以做到这一点,其中最简单的可能是:
.replace(/ > /g, ' - ')
关于使用 regex 的 javascript 正则表达式用多个 - 字符替换字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8109558/