我想在Java/Android中創建一個正則表達式,該正則表達式在第三個逗號之後或實際上在第三個逗號處截斷了一個字符串。這可能嗎?任何建議讓我開始這個?Java/Android的正則表達式問題
1
A
回答
3
請看Pattern
class。
替代品:String#split
您的字符串或使用StringTokenizer
。
4
不確定正則表達式是我的第一個方法。無論如何,下面是我的選擇。
使用正則表達式(ideone.com demo)
Matcher m = Pattern.compile("(.*?,.*?,.*?),").matcher(str); if (m.find()) str = m.group(1);
使用
indexOf
/substring
(ideone.com demo)str = str.substring(0, str.indexOf(',', str.indexOf(',', str.indexOf(',') + 1) + 1));
使用
nthOccurrence
(ideone.com demo)str = str.substring(0, nthOccurrence(str, ',', 2));
1
翻譯s/([^,]*,){3}.+/\1/
到Java正則表達式-ESE第三個逗號後截斷,s/([^,]*,[^,]*,[^,]*),.+/\1/
有截斷部分包括thir d逗號。
1
int comma = -1;
int n = 0;
do {
comma = str.indexOf(',', comma + 1);
} while (comma >= 0 && ++n < 3);
if (comma > 0) {
str = str.substring(0, comma);
} else {
// third comma not found
}
相關問題
- 1. 正則表達式問題
- 2. 正則表達式問題
- 3. 正則表達式問題
- 4. 正則表達式問題
- 5. 正則表達式問題
- 6. 正則表達式問題
- 7. 正則表達式問題
- 8. 正則表達式問題
- 9. 正則表達式問題
- 10. 正則表達式「|」問題
- 11. 正則表達式問題
- 12. 正則表達式:簡單的Java正則表達式問題
- 13. C#正則表達式表達問題
- 14. 正則表達式表達問題
- 15. 正則表達式模式的問題
- 16. javascript正則表達式規則問題
- 17. Firebase規則正則表達式問題
- 18. 桑達正則表達式問題
- 19. Perl的正則表達式的問題
- 20. .match()的正則表達式的問題
- 21. Perl的正則表達式的問題
- 22. java的正則表達式的問題
- 23. Java的正則表達式的問題
- 24. Ruby的正則表達式的問題
- 25. 的Javascript正則表達式的問題
- 26. 的Javascript正則表達式的問題
- 27. 的JavaScript正則表達式的問題
- 28. 的Javascript正則表達式的問題
- 29. Postgres的正則表達式的問題
- 30. 的Javascript正則表達式的問題
有什麼建議可以幫助您入門? [學習正則表達式](http://www.regular-expressions.info/)。 – 2011-05-30 18:36:08
@Martihno - 我知道......我知道。我只是不經常地做他們,我總是從頭開始。在SO上發佈一個問題讓我有一點動機去實現它。 – 2011-05-30 19:05:42