給定一個模式,我們可以使用S.split(pattern)
將字符串S
分成多個部分。但是,結果不是我想要的。我想要那些匹配模式的字符串,即分隔符。我的想法是使用拆分結果形成一個新的模式,然後再次拆分,但需要考慮各種元符號的大量情況。任何直接的方式?在Java模式匹配中獲取分隔符
回答
最好鏈接到最新版本的JavaDocs。我編輯了您的答案以指向J2SE 7.有關獲取最新文檔鏈接的提示,請參見[優點2](http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7090875) 。 – 2012-01-30 06:11:49
正如@AndrewThompson在你的問題的評論中指出的那樣,正則表達式有一個你可以使用的'not'運算符。 – Dawood 2012-01-30 06:24:46
非運算符將不起作用,因爲它會在帶有背靠背分隔符的字符串上返回不正確的結果。 (IE在空格分隔的字符串中連續兩個空格)。 – 2012-01-30 06:58:59
你不能只是運行多個裂口或你有可能得到不正確的結果。我可能會使用s.split(模式,2)...
public static Vector<String> getDelims(String s, String pattern)
{
String[] items = s.split(pattern, 2);
if(items.length == 1) return new Vector<String>();
String delim = s.substring(items[0].length());
delim = delim.substring(0, delim.length() - items[1].length());
Vector<String> ret = getDelims(items[1], pattern);
ret.add(0, delim);
return ret;
}
- 1. 拆分在多字符行分隔符使用模式匹配
- 2. 模式/匹配組()獲取Java中的子字符串?
- 3. 使用集提取匹配的模式使用'作爲模式分隔符
- 4. 匹配模式在java中
- 5. 如何在匹配分隔符後獲取特定文本?
- 6. Java正則表達式 - 管道分隔字符串上的模式匹配
- 7. 匹配逃脫分隔符
- 8. 在正則表達式上分割並在Java中捕獲匹配的分隔符表達式?
- 9. Java模式匹配器單個或多個用逗號分隔
- 10. 匹配範圍和特定模式,同時保持分隔符
- 11. Java模式匹配
- 12. Java - 模式匹配
- 13. 基於java中模式匹配的字符串分割問題
- 14. 正則表達式:獲取匹配模式的所有匹配字符串
- 15. 如何在Java中獲取時間分隔符符號?
- 16. 正則表達式匹配字符串與兩種分隔符類型分隔
- 17. 在Java中匹配文本模式
- 18. 正則表達式匹配,獲取由分隔符標記分隔的所有組?
- 19. 使用匹配器和模式從java模式中提取字符串
- 20. 在Java正則表達式中與多個模式獲取重疊匹配
- 21. 提取字符串匹配/模式
- 22. 提取從字符串匹配模式
- 23. 獲取子串匹配模式
- 24. 獲取行號匹配的模式
- 25. preg_split在數組中獲取分隔符
- 26. 在Fortran中獲取文件分隔符
- 27. 正則表達式下劃線分隔模式匹配
- 28. WPF中的樣式分隔符匹配背景
- 29. 空格分隔字符串中的正則表達式匹配
- 30. 正則表達式 - 在括號內僅匹配分隔符
一個例子可以幫助我們來幫助你 – Jayy 2012-01-30 06:07:37
請向我們提供的例子。 – RanRag 2012-01-30 06:07:56
不是正則表達式有一種'不'運算符嗎?例如。在僞代碼'S.split(!pattern)' – 2012-01-30 06:10:41