2833_ja-JP
検索置換スクリプト文字列を含む列があります。 列内で部分文字列を検索して削除したいと考えています。 これは、検索/置換ダイアログから行うこともできますが、スクリプトで行いたいと考えています。 私は試しました:Munger(:STATE, 1, "RX_", "");私が期待していた動作は、「RX_xxxxx」が出現するたびに「xxxxx」に変更するというものでしたが、何も起こりませんでした。 私の何が間違っているのでしょうか?Re: 検索置換スクリプトmunger() と foreachrow() 関数を組み合わせて、すべての行をループしてみてください。
Re: 検索置換スクリプトSUBSTITUTE 関数を文字列とともに使用すると、文字列内のすべての部分文字列が置き換えられます。リストで使用すると、置換する文字列が完全に一致する場合にのみ機能することに気づきませんでした。
z = "aabbbbcc";
b = 置換(z, "a", "x");
結果:
「xxxbbbccc」
したがって、各行メソッドを使用するか、すべての行をループして SUBSTITUTE 関数を使用できます。Re: 検索置換スクリプトSUBSTITUTE 関数は MUNGER よりもはるかに簡単だと思います。
「ワンライナー」の方法があるかもしれませんが、私がやることは次のとおりです。
Re: 検索置換スクリプトPMrozさん、ありがとう。
MS、最後の出現を見つけるために使用できる関数はありますか (つまり、左から右ではなく右から左に検索します)、それとも文字列を反復処理して最後の出現を見つけ、それに応じてオフセットを変更する必要がありますか?Re: 検索置換スクリプト役に立つかもしれない「逆」関数があります (例: 逆 ("abc") --> "cba")。逆の列値で最初に出現する逆のテキストを検索し、それを逆の置換テキストに置き換えてから、結果の文字列を逆順にします。前方検索を繰り返す場合と速度的に比較するとどうなるかはわかりません。
Comments
There are no comments yet