簡體   English   中英

如何在Java中解析字符串? 是否有類似Python的re.finditer()?

[英]How to parse a string in Java? Is there anything similar to Python's re.finditer()?

我有一個非常簡單的輸入字符串模式 - 大寫字母,整數,大寫字母,整數,...我想分隔每個大寫字母和每個整數。 我無法弄清楚在Java中執行此操作的最佳方法。

我已經使用Pattern和Matcher,然后使用StringTokenizer嘗試了regexp,但仍然沒有成功。

這就是我想要做的,用Python表示:

for token in re.finditer( "([A-Z])(\d*)", inputString):
      print token.group(1)
      print token.group(2)

對於輸入“A12R5F28”,結果將是:

A

12

R

5

F

28

您可以在Java中使用regex API並實現相同的功能:

Pattern myPattern = Pattern.compile("([A-Z])(\d+)")
Matcher myMatcher = myPattern.matcher("A12R5F28");
while (myMatcher.find()) {
      // Do your stuff here
}

擴展Ravi的答案....

Pattern myPattern = Pattern.compile("([A-Z])(\\d+)");
Matcher myMatcher = myPattern.matcher("A12R5F28");
while (myMatcher.find()) {
  System.out.println(myMatcher.group(1) + "\n" + myMatcher.group(2));
}

暫無
暫無

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

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