RegularExpression在新行之间获取字符串

时间:2017-02-25 15:39:28

标签: regex string

我想要使用正则表达式

获取位于新行的每个字符串
string someStr = "first
second
third
"

示例:

string str1 = "first";
string str2 = "second";
string str3 = "third";

3 个答案:

答案 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)

您可以使用以下正则表达式

(\w+)(?=\n|"|$)

请参阅demo