首页 > 解决方案 > javascript替换所有下一个文本

问题描述

例如,我有这个文本

'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做到这一点?

标签: javascriptlodash

解决方案


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

在这个表达式中,我尝试获取任何包含该单词的字符串,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>$1</a>`)

console.log(newStr)

有关replace检查的更多信息MDN


推荐阅读