簡體   English   中英

僅在第一個匹配的正則表達式位置分割字符串

[英]Splitting string only at the first matching regex position

我有以下字符串:“ 123456-A,Bcd,789101-E,Fgh”

我希望將其拆分為:“ 123456-A,Bcd”和“ 789101-E,Fgh”。 我該如何實現? 我應該使用什么regexsplit表達式?

我看到我可以使用.matches(".*[az],\\\\s[0-9].*")在“ Bcd”之后找到逗號,但是如何僅在該逗號處拆分字符串? .split(",\\\\s")在所有出現的逗號處分割,后跟空格...

我使用JAVA 1.6。

您可以使用逗號分隔,后跟0+空格,6位數字,空格和連字符:

String[] result = s.split(",\\s*(?=\\d{6} -)");

參見regex演示

圖案細節

  • , -逗號
  • \\s* -0+空格字符
  • (?=\\\\d{6} -) -正向超前查詢(一種非消耗性模式,它所匹配的內容將不屬於結果),需要6位數字,后跟一個空格,並且-立即位於當前位置。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM