提问者:小点点

移除字符串的确切部分


如果我有一个字符串,其中某处包含x:,我如何删除字符串的确切部分和仅删除该部分? 例如:word test description x:28 cow dog,我想返回这个字符串,但不包含x:部分。


共3个答案

匿名用户

最简单的方法是像这样对它进行全局正则表达式

let test = 'test string x: is this x:'
let removed = test.replace(/(^|\s)x:\s?/g, ' ')

只需将找到的替换为空字符即可

可以肯定的是,正如我介绍的注释中指出的那样,只匹配的更改是“x:”是字符串中字符的独立组合,后面的空格是可选的,可以在“s?”中看到。 部分。

编辑:添加以支持字符串的开头

匿名用户

您可以使用regex.在最坏的情况下,您可能有一个以上的x:,然后需要清除所有。

null

var str="Word test description x: 28 cow dog x: 15 matrix:"
var out = str.replace(/\ x: /g," ");
console.log(out);

匿名用户

正如您在第一条注释中所看到的那样。 可以使用replace()方法。 所以,

var str = "Word test description x: 28 cow dog";
str = str.replace("x:", "");

replace的第一个参数接受要替换的字符串,第二个参数接受要替换为的字符串。

但是,如果您有许多x:,那么它将只是替换第一个。 所以要记住这一点。 另外,如果数量有限(比如2个或3个),您可以多次替换。 如:

str = str.replace("x:", "");
str = str.replace("x:", "");
str = str.replace("x:", "");

但是,对于无限数量的x:,它并不是很好。 但是,如果只有很少的字符串要被替换,那么简单就好了。 这是在回答多重替换时问到的问题。