または/a/b/c.d/f.
の間にあるすべての文字が必要なような表現があります。コマンドを使用してそれらを分割しようとすると、結果はとして取得されます。これらのnull文字列を回避するにはどうすればよいですか?これを使用してこれを行う方法はありますか?/
.
split
{} a b c d f {}
regsub
3 に答える
3
これらの空の文字列( nullではありません)は、文字列の最初と最後に区切り文字があることを示しています。2つのセパレーターが隣り合っている場合にも、それらを取得できます。このsplit
コマンドは、実際には、より「通常の」テキストの単語ではなく、レコードを処理することを目的としています。
非セパレーター部分を抽出する最も簡単な方法の1つ(注:ここで問題をひっくり返しました)は、を使用することregexp -all -inline
です。これにより、一致するすべてのもののリストが返されます。
set pieces [regexp -all -inline {[^/.]+} "/a/b/c.d/f."]
これには少し注意してください。サブ正規表現をキャプチャしている場合は、-all -inline
オプションを使用しているときにも返されます。
于 2012-11-06T21:41:43.440 に答える
0
regsubを使用して、必要な結果が得られました。これは「regsub-all{(/)|(。)} $ a "\ t" result」であり、これはnull文字列を提供しませんでした
于 2012-11-06T20:02:42.350 に答える
0
于 2012-11-06T20:18:34.920 に答える