[英]Extract Text from multi-line string
我有一個帶有多行的字符串 MYSTRING,如下所示:
X:String1;;;; X1:String2 X2:String3 YY1:String4
我的目標是從上面的字符串中提取每個字符串。 我找到了以下公式:
Pattern pattern = Pattern.compile("([\\n|;|:](X:|X1:)[0-9a-zA-Z-\\säöüÄÖÜß,]*[\\n|;])");
Matcher m = pattern.matcher(MYSTRING);
if(m.find()) {
String name = m.group(1).substring(1);
}
通過上面的論壇,我只成功地得到了 String1。 如何獲得String2,String3,......的rest?
我設法通過雙重匹配查詢來解決這個問題,如下所示:
首先執行 X 的查詢
pattern = Pattern.compile("([\\n|;|:](X:)[0-9a-zA-Z-\\säöüÄÖÜß,]*[\\n|;])");
m = pattern.matcher(MYSTRING);
if(m.find()) {
String string1 = m.group(1).substring(1);
}
然后執行 X1 的查詢:
pattern = Pattern.compile("([\\n|;|:](X1:)[0-9a-zA-Z-\\säöüÄÖÜß,]*[\\n|;])");
Matcher m = pattern.matcher(MYSTRING);
if(m.find()) {
String string2 = m.group(1).substring(1);
}
如果你有很多字段,這不是正確的方法,但至少它對我有用,只查詢兩次,可以被認為是臨時溶膠。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.