2017-02-25 9 views
0

は、私が欲しいの新しいラインの間の文字列を取得正規表現は、正規表現を使用して新しい行に配置されているすべての文字列を取ることに

string someStr = "first 
second 
third 
" 

例:

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

フレーバー/文脈がありません。 – LotPings

+0

すべてに感謝し、私は意味: '文字列someStrは= "最初 二三 "' 擬似コード 'STR1 = someStr.RegExpr()// str1が最初line' –

答えて

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 
+0

@Howtoが含まれていますが、あなたは試してみましたこの? –

+0

最初に 第2番目の 第3番目のデータこの例のデータはすべてのところでうまくいきません –

+0

@Howtoあなたはそれを破っている例を挙げることができますか? –

1

正規表現を使用することができます。

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

demo

+0

https://regex101.com/r/bDMivZ/2 –

+0

https://regex101.com/r/bDMivZ/4 –

+0

@bureaquete他に何か? :P – m87

2

を参照するか、またはあなただけの各行の最初の単語をしたい場合は、

^(\w+).*$複数行フラグ付き。 Regex101は良い正規表現テストツールを持っています:https://regex101.com/r/JF3cKR/1

関連する問題