我想要使用正则表达式
获取位于新行的每个字符串string someStr = "first
second
third
"
示例:
string str1 = "first";
string str2 = "second";
string str3 = "third";
答案 0 :(得分:2)
只需将其与" \ n";
分开someStr.split("\n")
如果你想要
,你可以过滤空字符串或者,如果确实想要正则表达式,请使用多行标记执行/^.*$/
List<String> listOfLines = new ArrayList<String>();
Pattern pattern = Pattern.compile("^.*$", Pattern.MULTILINE);
Matcher matcher = pattern.matcher("first\nsecond\nthird\n");
while (matcher.find()) {
listOfLines.add(matcher.group());
}
然后你有;
listOfLines.get(0) = first
listOfLines.get(1) = second
listOfLines.get(2) = third
答案 1 :(得分:2)
或者如果你只想要每行的第一个单词;
带有多行标志的 ^(\w+).*$
。
Regex101有一个很好的正则表达式测试工具:https://regex101.com/r/JF3cKR/1
答案 2 :(得分:1)