在寻求本地化的过程中,我需要找到源代码中散布的所有字符串文字。我正在寻找一种方法将其编入脚本修改后的源库检查。 (IE之后有人检查了一些东西,有一个盒子设置来检查这个统计数据)我可能会使用NAnt和CruiseControl或其他东西来处理CVS的管理(在我的情况下,StarTeam很好:()但是你知道任何可编写脚本的吗? (或命令行)实用程序,以准确循环通过源代码寻找字符串文字?我意识到我可以根据正则表达式进行简单的字符串查找,但想要更多的帮助。(也许分析字符串或将其分类)因为很多时候字符串可能不一定需要翻译。有什么想法吗?
答案 0 :(得分:36)
Visual Studio 2010及更早版本:
:q
(引用字符串)“查找结果”窗口现在将包含所有文件的报告,包含行号,行本身带有带引号的字符串。
对于Visual Studio 2012及更高版本,搜索((\".+?\")|('.+?'))
(reference,将其提示为@CincauHangus)
答案 1 :(得分:2)
它使用已编译的二进制文件而不是源文件,但Sysinternals的Strings应用程序可能很有用。
答案 2 :(得分:1)
要查找所有Text="textonly"
个实例,请在搜索时使用以下正则表达式:
(Text=)(")([a-z])
这有助于查找Text="*"
但排除已经转换为使用资源文件的文字:
Text="<%$ Resources:LocalizedText, KeyNameFromResourceFile%>"
此外,(>)([a-z])
可用于查找标记之间的文字,如下所示:
<h1>HeaderText</h1>
答案 3 :(得分:0)
你可以使用C# parser on CodePlex。
答案 4 :(得分:0)
嗨,这是用于搜索文字的正则表达式,我用它来查找要翻译的文本。 它还包含空格和不同的引号
regex:([“,,'])([\w,\s]*)([",
,'])
searchstring:var test ='这是一个测试';
答案 5 :(得分:0)
Use Regular Expressions
对于文字中的特定文本:
"+.*(MYSPECIFICTEXT)+.*"+
对于所有文字
"+.*"+
然后