javascript 替换所有下一个文本

javascript replace all next text

例如我有这段文字

'test test: field test test 1 - pid 20242004 test test test 543 - pid 20242004 test test test 123 - pid 544745456 test test jdfh 1 - pid 353545 test test test 1 - pid 20242004 test test test 6 - pid 878 field test test 23 - pid 234445'

我想更改单词 'pid' 后面的所有文本,因此输出将是:

'test test: field test test 1 - pid <a>20242004</a> test test test 543 - pid <a>20242004</a> test test test 123 - pid <a>544745456</a> test test jdfh 1 - pid <a>353545</a> test test test 1 - pid <a>20242004</a> test test test 6 - pid <a>878</a> field test test 23 - pid <a>234445</a>'

有什么方法可以用 javascript 做到这一点吗?

你可以用正则表达式来做到这一点

在这个表达式中,我尝试获取任何包含单词 pid 的字符串,然后是数字块

let str = 'test test: field test test 1 - pid 20242004 test test test 543 - pid 20242004 test test test 123 - pid 544745456 test test jdfh 1 - pid 353545 test test test 1 - pid 20242004 test test test 6 - pid 878 field test test 23 - pid 234445'

let newStr = str.replace(/pid ([\d]+)/g, `pid <a></a>`)

console.log(newStr)

有关 replace 的更多信息,请查看 MDN