19

在寻求本地化的过程中,我需要找到散落在我们源代码中的所有字符串文字。我正在寻找一种将其编写到修改后源存储库检查中的方法。(在某些人检查某些内容后,IE 有一个框设置来检查此统计信息)我可能会使用 NAnt 和 CruiseControl 或其他东西来处理 CVS 的管理(在我的情况下是 StarTeam :()但是你知道任何可编写脚本的吗(或命令行)实用程序来准确循环通过源代码查找字符串文字?我意识到我可以根据正则表达式进行简单的字符串查找,但想要更多的收益。(也许分析字符串或将其分类) 因为很多时候字符串可能不一定需要翻译。有什么想法吗?

4

6 回答 6

39

Visual Studio 2010 及更早版本:

  1. 在文件中查找 (CTRL+SHIFT+F)
  2. 用途:正则表达式
  3. 查找:(:q 引用的字符串)
  4. 找到所有

查找结果窗口现在将包含所有文件的报告,包括行号和带引号的字符串的行本身。

对于 Visual Studio 2012 和更高版本的搜索((\".+?\")|('.+?'))参考, @CincauHangus的帽子提示)

于 2008-10-02T20:32:34.133 回答
2

它使用编译后的二进制文件而不是源代码,但 Sysinternals 的Strings应用程序可能有用。

于 2008-10-02T20:29:35.763 回答
1

要查找所有Text="textonly"实例,请在搜索时使用以下正则表达式:

(Text=)(")([a-z])

这有助于查找Text="*"但排除已转换为使用资源文件的文本:

Text="<%$ Resources:LocalizedText, KeyNameFromResourceFile%>"

(>)([a-z])可用于在标签之间查找文字,如下所示:

<h1>HeaderText</h1>
于 2015-04-28T12:44:13.357 回答
1
  1. 在文件中查找 (CTRL+SHIFT+F)
  2. 查找选项 -> 检查Use Regular Expressions

对于文字中的特定文本:

  1. 找什么:"+.*(MYSPECIFICTEXT)+.*"+

对于所有文字

  1. 找什么:"+.*"+

然后

  1. 找到所有
于 2020-02-18T16:36:39.980 回答
0

CodePlex 上有一个您可以使用的C# 解析器。

于 2008-10-02T20:27:02.243 回答
0

嗨,这是用于搜索文字的正则表达式,我用它来查找要翻译的文本。它还包括空格和不同的引号

正则表达式:

([",`,'])([\w,\s]*)([",`,'])

searchstring: var test='这是一个测试';

于 2019-10-29T08:25:51.627 回答