我正在执行Android应用本地化的过程。此过程中的一个难点是区分用于向用户显示的字符串文本与本地/编程使用的字符串文本之间的区别。Eclipse正则表达式帮助,不包含子字符串
public static String PERSON = "Person";
intent.putExtra("isPerson", isPerson);
myTextView.setText("My name is Mark");
什么是正则表达式,我可以用它来给我,其中的文字用引号括起来,但1)不是一个变量声明和2)不是用作一个字符串键一个键的代码行/值映射像第二行一样。理想的目标是让表达式的匹配导致第三行的类型。我可以寻找包含的setText字符串但随后硬编码字符串,如下面将错过:
String firstName = "Mark";
myTextView.setText(firstName);
我设法得到非空的所有字符串由引号括起来:
\"\w{1,}"
问题在于它太宽泛,给我一切。此外,我希望下面给我,不包含在putExtra他们所有的字符串退货:
(?<!putExtra).\"\w{1,}"
但可能是因为其返回结果这样不能很好地工作:
intent.putExtra("title", "Welcome");
当我想排除任何包含putExtra子字符串的文本行时,其中“Welcome”使其显示为匹配。
任何帮助您RegEx大师将不胜感激。我正在使用启用了正则表达式的Eclipse的文件搜索功能
不能理解你正在尝试做什么。 – mjosh
我对Android没有太多了解,但对我来说听起来就像你试图找到错误的东西。您可能应该尝试搜索可显示的任何类型组件的所有用法,然后尝试将其缩小到导致实际进行可见更改的方法调用。有很多方法可以将字符串切碎,放在一起,然后绕过来认为您可以准确找到要查找的字面值。 –
@mjosh - “区分用于显示给用户的字符串字面量与本地/编程使用的字符串字面量之间的区别”是我用正则表达式所要做的。 –