我知道:
> original_string = "bears and cats and dogs"
'bears and cats and dogs'
> useful_array = original_string.match(/cats/)
[ 'cats', index: 10, input: 'bears and cats and dogs' ]
> sub_string = useful_array[0]
'cats'
我将如何获得:
> modified_string
'bears and and dogs'
谢谢
编辑:
> original_string = "bears and cats and dogs"
'bears and cats and dogs'
> original_string.replace(/cats/, "")
'bears and and dogs'
但还有另外一种方法吗?我来自红宝石,所以对所有事情总是采用一种活泼的方法
答案 0 :(得分:0)
.replace()
var original_string = "bears and cats and dogs";
var modified_string = original_string.replace('cats ', '');
console.log(modified_string);
字符串有一个名为replace
的方法,它接受各种参数,包括正则表达式,字符串,当然还有修饰符(g,i等)。
因此,只需使用字符串上的替换来将cats
替换为''
,就可以完成您所需的工作。
在您对问题进行编辑之后,另一种更复杂的方法是将字符串拆分为数组并过滤掉单词cats
。然后用空格将数组重新加入一个字符串。
var original_string = "bears and cats and dogs";
var modified_string = original_string
.split(/\s/)
.filter(function(word) {
return (word !== 'cats')
})
.join(' ');
console.log(modified_string);
slice
当然,如果你想以你看起来的方式接近它,通过字符串上的索引,你可以这样做:
var original_string = "bears and cats and dogs";
var wordToReplace = 'cats ';
var index = original_string.indexOf(wordToReplace);
var modified_string = '';
if (index > -1) {
modified_string = original_string.slice(0, index) + original_string.slice(index + wordToReplace.length);
}
console.log(modified_string);