1

「3 x 1」セル配列があり、その内容は次のようになります。

'ASDF_LE_NEWYORK Fixedafdfgd_ML'
'Majo_LE_WASHINGTON FixedMonuts_ML'
'Array_LE_dfgrt_fdhyuj_BERLIN Potato Price'

次のようなコンテンツを持つ別の「3x1」セル配列をエレガントに抽出して作成できるようにしたい:

'NEWYORK'
'WASHINGTON'
'BERLIN'

上記の NAME が最後のアンダースコアの後、最初の SPACE または '_ML' の前にあることに気付いた場合。そのようなコードを簡潔に書くにはどうすればよいですか。

ありがとう

編集:

申し訳ありませんが、より良い例を使用する必要がありました。今直してもらいました。

4

2 に答える 2

2

_スペースに対して後読みと先読みを使用できます。

names = regexp(A, '(?<=_)[^\s_]*(?=\s)', 'match', 'once');

文字A列を含むセル配列は次のとおりです。

A = {...
'ASDF_LE_NEWYORK Fixedafdfgd_ML'
'Majo_LE_WASHINGTON FixedMonuts_ML'
'Array_LE_dfgrt_fdhyuj_BERLIN Potato Price'};

>> names = regexp(A, '(?<=_)[^\s_]*(?=\s)', 'match', 'once')
names = 
    'NEWYORK'
    'WASHINGTON'
    'BERLIN'
于 2013-09-24T06:57:30.903 に答える