0

感谢任何帮助编写 nodejs 正则表达式。

首先搜索确切的词“ChildBucketOne”和“ChildBucketTwo”,并在每次出现 ChildBucketOne 或/和 ChildBucketTwo 之前添加确切的词 ParentBucket。

我正在尝试使用一个正则表达式。

输入 1:webApplication.ChildBucketOne 输入 2:webApplication.ChildBucketTwo

输出:webApplication.ParentBucket.ChildBucket.ChildBucketOne

webApplication.ParentBucket.ChildBucket.ChildBucketTwo

谢谢!

4

2 回答 2

1

Node.js 与 Javascript 基本相同,只是它运行在服务器上。

回到你的问题,下面是找到所有出现的片段.ChildBucket,并将它们替换为.ParentBucket.ChildBucket.

const original = `
# dummy text 1
webApplication.ChildBucketOne
# dummy text 2
webApplication.ChildBucketTwo
# dummy text 3
`

console.log('--- Original ---')
console.log(original)

const replaced = original.replace(/\.ChildBucket/g, '.ParentBucket.ChildBucket')

console.log('--- Replaced ---')
console.log(replaced)

解释

您会看到我使用正则表达式 (ie /\.ChildBucket/g) 而不是字符串,因为replace函数默认情况下只会替换匹配字符串的第一次出现。g使用带有修饰符的正则表达式会将其转换为全局匹配,从而替换所有匹配项。

输出

--- Original ---
# dummy text 1
webApplication.ChildBucketOne
# dummy text 2
webApplication.ChildBucketTwo
# dummy text 3
--- Replaced ---
# dummy text 1
webApplication.ParentBucket.ChildBucketOne
# dummy text 2
webApplication.ParentBucket.ChildBucketTwo
# dummy text 3
于 2019-06-16T08:05:26.347 回答
1

您可以简单地使用 JavaScript 的字符串替换功能

let input1 = 'webApplication.ChildBucketOne';
let input2 = 'webApplication.ChildBucketTwo';


function preprocess(input){

 return input.replace('.ChildBucket', '.ParentBucket.ChildBucket.ChildBucket');

}


console.log(preprocess(input1));
console.log(preprocess(input2));

现场直播 - https://jsitor.com/IUb7cRtvf

于 2019-06-16T06:20:03.540 回答