我正在執行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 - 「區分用於顯示給用戶的字符串字面量與本地/編程使用的字符串字面量之間的區別」是我用正則表達式所要做的。 –