正则表达式搜索和替换转换结果

时间:2015-11-12 14:00:48

标签: regex

在我们的项目中,我们的翻译名为

Resources.Blabla.MooFoo.GetString("I am a whatever string!");

它正在使用Resgen,现在我们想使用"标准"它的方式。 我们将源文本文件(从键中删除特殊字符)解析为resx文件,现在想要搜索 - 替换整个项目以更改每次调用

Resources.Translate("Iamawhateverstring");

这里的要点是,除了替换呼叫签名,这不是问题,我需要从参数中解析出空格,点等符号,以便

  

"我是一个字符串!"

变成

  

"&Iamawhateverstring#34;

我该怎么做?

2 个答案:

答案 0 :(得分:1)

替换空格的正则表达式:

  

(?< =(GetString \(“)[A-Za-z0-9] +)(?=(。*?(”\)){1}))

(?< =(GetString \(“)[A-Za-z0-9] +)在空间字符之前查找GetString(”[a-Z0-9]包括空格,如果有一个或多个空格出现在字符串

(?=(。*?(“\)){1}))为”)

寻找空格字符

答案 1 :(得分:0)

我会使用此正则表达式替换它:DEMO

(Resources.Blabla.MooFoo.GetString)(\(".*"\);)

然后当你得到捕获组时:

Replace capture group 1 with "Resources.Translate"
Replace capture group 2 using captureGroup2.replace(/\s/g, '')

所以基本上这是一个两步过程。