回答
String#split("*")
應該拋出異常。 String#split
接受正則表達式字符串,"*"
是無效的正則表達式。 *
的意思是「零個或多個以前的項目」,但沒有以前的項目。
如果您試圖按星號分割,請使用:split("\\*")
。有兩個反斜槓,因爲你需要傳遞一個反斜槓到正則表達式分析器來告訴它*
是字面的,當然這是一個字符串,所以要得到一個反斜槓,你必須轉義它。因此,兩個。
String[] splitOnAsterisk = "one*two*three".split("\\*");
咦? 'String.split接受一個正則表達式字符串,而「*」是一個正則表達式。' –
@The Elite:這裏有一個重要的遺漏詞:「invalid」:)我已經添加了它。 (也要感謝Christ Jester-Young,他也試圖用不同的方式解決它。) –
完全猜在這裏,但你嘗試過逃跑*
?即String.split("\*")
?還有你想分手?
我想你會需要加倍反斜槓,否則Java會嘗試將它解釋爲字符串中的轉義字符,而不是作爲模式中的轉義。 –
我想這個字符串包含*即「C:/ Abc * D:/ def」 – Mak
這可能是正確的,因爲我認爲'String.split'接受一個String參數作爲正則表達式使用,所以'String。分裂(「*」)是告訴它分裂_everything_。 –
做到這一點,而不是
String[] s1 = s.split("\\*");
你想:
String.split("[*]")
分割函數接受一個正則表達式
- 1. IndexOutOfRange異常與String.Split
- 2. String.Split()返回空值
- 3. 返回異常
- 4. String.split()返回一個「」意外
- 5. HTTPClient.executeMethod()返回異常
- 6. 返回JSON異常
- 7. 如果list.Find()返回null.code返回異常
- 8. 返回處理異常
- 9. 如何返回異常?
- 10. Decoder_setSearch返回-1異常
- 11. java中的異常返回
- 12. FilePut返回I/O異常
- 13. c#返回組合異常
- 14. Postgresql,異常返回錯誤
- 15. 拋出異常後返回
- 16. 返回FALSE引發異常
- 17. Xvfbwrapper模塊返回異常
- 18. Rolify異常返回false
- 19. sendDataMessage()返回NullPointerException異常
- 20. 哪個異常會返回?
- 21. 返回自定義異常
- 22. HBase completebulkload返回異常
- 23. GLu.gluUnProject返回NullPointerException異常
- 24. IndexOutOfBoundsException異常返回什麼?
- 25. Java返回Double異常(java.lang.IllegalArgumentException)
- 26. 可以String.Split()是否返回null? (.net)
- 27. string.split()返回額外項目(功能)
- 28. String.Split返回錯誤的數組
- 29. 如何驗證是否string.split()返回null
- 30. ASP.NET WebService在拋出異常時返回異常字符
任何特定的異常? –
PatternSyntaxException – Mak
如果您有任何拋出的異常,應該在發生這種情況的地方發佈logcat和代碼塊。 – Egor