単純な区切り文字で区切られたテキスト データベースが与えられた場合、列/フィールド エントリを返す正規表現ルールを構築したいと考えています。
次の2つの例の行が与えられた場合
entry1 = '|123|some|string |101112 |'
entry2 = '|123|some| |101112 |'
次の出力を取得したい:
values1 = '123', 'some', 'string', '101112'
values2 = '123', 'some', '', '101112'
これまでのところ、次regexp
のregexprep
組み合わせを使用しています。
values = regexp(regexprep(entry '[\s]', ''), '\|', 'split')
残念ながら、次の結果が返されます。
values1 = '' '123' 'some' 'string' '101112' ''
values2 = '' '123' 'some' '' '101112' ''
しかし、私は取得したいです(の''
前に余分なものはなく、後に123
余分なものはありません):''
'101112'
values1 = '123', 'some', 'string', '101112'
values2 = '123', 'some', '', '101112'
私の正規表現ルールを考えると、なぜ''
最初と最後に を取得するのですか? フィールド値のみを返すように正規表現ルールを変更するにはどうすればよいですか?