Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/463.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在某些情况下,将一个字符串替换为另一个字符串_Javascript - Fatal编程技术网

Javascript 在某些情况下,将一个字符串替换为另一个字符串

Javascript 在某些情况下,将一个字符串替换为另一个字符串,javascript,Javascript,如果y包含x的最后一个字,我想用y替换x的最后一个字。我该怎么办 let x ='jaguar lion tiger panda' let y = 'pandas' 预期结果: 'jaguar lion tiger pandas' 'jaguar lion tiger panda cat' 如果 预期结果: 'jaguar lion tiger pandas' 'jaguar lion tiger panda cat' 我尝试过的代码: console.log(response) le

如果y包含x的最后一个字,我想用y替换x的最后一个字。我该怎么办

let x ='jaguar lion tiger panda'
let y = 'pandas'
预期结果:

'jaguar lion tiger pandas'
'jaguar lion tiger panda cat'
如果

预期结果:

'jaguar lion tiger pandas'
'jaguar lion tiger panda cat'
我尝试过的代码:

console.log(response)
let before = this.text.split(' ')
console.log(before)
console.log(before.length)
let a = before.slice(before.length-1)
console.log(a)
if (response.data.text[0].includes(a)) {
  let x = (before.slice(0, before.length-1))
  let y = x.replace(',', ' ')
  this.preResult = y.push(response.data.text[0])
} else {
  this.preResult.push(this.text + ' ' + response.data.text[0])

您可以使用正则表达式匹配最后一个单词,然后通过检查
y
是否包含该单词来执行测试。如果是,请将单词替换为
y
,否则替换为与
y
连接的原始单词:

const x='捷豹狮子虎熊猫'
常数doReplace=y=>x.replace(
/\S+$/,//匹配非空格字符,后跟字符串结尾
(字)=>(
y、 包括(word)
Y
:word+“”+y
)
);
console.log(doReplace('pandas'));
console.log(doReplace('cat'))另一种解决方案:

让x='捷豹狮子虎熊猫'
让y=‘熊猫’
设拆分=x.拆分(“”)
让lastWord=splited[splited.length-1]
如果(y.indexOf(lastWord)>=0){
拆分[拆分.长度-1]=y
}否则{
拆分。推送(y)
}
让结果=拆分。联接(“”)

console.log(result)
正则表达式是用于字符串匹配和操作的非常强大和简洁的工具。它们对于程序员来说非常有用。这里使用的一个非常简单,但是-
\S+
匹配非空白字符,
$
匹配字符串的结尾。我需要用panda替换panda,因为它包含在pandas中。您也可以这样做吗?答案中的代码之所以这样做是因为
。includes
测试-按“运行代码片段”好的,谢谢最后一件事,我是土木工程师,学习建筑,但我喜欢编码,至少我这么认为,但它太难了,所以我转向设计网页,这很简单也很有趣,但我真的很想很好地理解背景中发生的事,但我不想在毫无价值的事情上花费太多时间,你能做什么所以我研究了一下,决定做还是不做。。队长这是一个非常广阔的领域——它是基于观点的,所以这取决于你。我正在努力理解这一点。这似乎管用,谢谢。