VB.NETの正規表現Regex.Splitでハマる
Dim strHoge As String = "aaa" & vbCrLf & "bbb" & vbCr & "ccc" & vbLf & "ddd"
↑こんな文字列から配列
("aaa","bbb","ccc","ddd")を取得したくてハマった
1stチャレンジ /(\r|\n)+/
Dim strHoge As String = "aaa" & vbCrLf & "bbb" & vbCr & "ccc" & vbLf & "ddd" Dim aryHoge As Array = Regex.Split(strHoge, "(\r|\n)+") For Each strSplited As String In aryHoge Console.WriteLine("-" & strSplited.Replace(vbCrLf, "CrLf").Replace(vbCr, "Cr").Replace(vbLf, "Lf") & "-") Next
結果
-aaa- -Lf- -bbb- -Cr- -ccc- -Lf- -ddd-
2edチャレンジ /[\r\n]+/
Dim strHoge As String = "aaa" & vbCrLf & "bbb" & vbCr & "ccc" & vbLf & "ddd" Dim aryHoge As Array = Regex.Split(strHoge, "[\r\n]+") For Each strSplited As String In aryHoge Console.WriteLine("-" & strSplited.Replace(vbCrLf, "CrLf").Replace(vbCr, "Cr").Replace(vbLf, "Lf") & "-") Next
結果
-aaa- -bbb- -ccc- -ddd-
う〜む、正規表現が良くわかっていないからなのでしょうが、
自分としてはどちらも2edチャレンジと同じ結果を期待してしまうのです。
何故なのか、調べてみないとな