如何解决在特定字符前后替换空格-Javascript
有没有一种方法可以替换Javascript中特定字符之前和之后的空格?
场景:字符串-“('fever')或('cold')”
我只想删除单引号前后的空格
预期结果-“('发烧')OR('冷')”
预先感谢
解决方法
您可以使用正则表达式:
const s = "( 'fever' ) OR ( 'cold' )"
const out = s.replace(/(?:\s+('\w+')\s+)/g,'$1')
console.log(out)
,
该问题被标记为正则表达式,但有时我会做这样的事情:
function replaceAll(before,after,string) {
let result = string;
while (result.indexOf(before) !== -1) {
result = result.replace(before,after);
}
return result;
}
let example = "( 'fever' ) OR ( 'cold' )";
example = replaceAll("' ","'",example);
example = replaceAll(" '",example);
console.log(example);
,
您可以像这样使用环顾四周:
const s = "( 'fever' ) OR ( 'cold' )"
const out = s.replace(/(?<=\()\s+|\s+(?=\))/g,'')
console.log(out)
位置:
-
(?<=\()\s+
匹配1个或多个空格,并在开头加上括号 -
\s+(?=\))
匹配1个或多个空格,后跟一个右括号
您还可以使用此:
const s = "( 'fever' ) OR ( 'cold' )"
const out = s.replace(/(?<=')\s+|\s+(?=')/g,'')
console.log(out)
位置:
-
(?<=')\s+
匹配1个或多个带单引号的空格 -
\s+(?=')
匹配1个或多个空格,后跟一个单引号
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。