文字列のTRIM

ホーム フォーラム CF2.5使用法全般 文字列のTRIM

  • このトピックには8件の返信、2人の参加者があり、最後にmakotoにより3年、 3ヶ月前に更新されました。
9件の投稿を表示中 - 1 - 9件目 (全9件中)
  • 投稿者
    投稿
  • #34371
    makoto
    参加者

    文字列のTRIMをループで行っていますが、大量に実行すると重くなってしまうため、同様の機能を持つエクステンションを探しています。
    トリミングする文字を複数指定できるものはありますでしょうか?

    #34373
    ASD
    キーマスター

    エクステンションの『String Parser』のRemove substrings関数で指定した文字(文字列)を取り除くことができます。

    – サンプルプログラム
    https://blog.clickteam.jp/wp-content/uploads/2021/01/cf25_blog_2021-01-10_String-Parserで文字列をトリミング.zip

    #34376
    makoto
    参加者

    返答ありがとうございます。
    すみません。言葉が足りてませんでした。
    文字列の前後のみをTRIMしたいので、以下の結果が欲しいです。

      aあaいaうaえaおa ⇒ あaいaうaえaお

    これを複数の文字を指定して行いたいのですが・・・。

      abcあaいbうcえabcおcba ⇒ あaいbうcえabcお

    #34380
    ASD
    キーマスター

    消したい文字列が”abc”一種類のみであれば、remove$( “String Parser”, “abc” )を1回実行すれば、文中にある”abc”が全て取り除かれます。

    abcあaいaうaえaおabc をremove$( “String Parser”, “abc” )すれば
    あaいaうaえaお となります。

    取り除きたい文字列が複数ある場合は、先のサンプルのように行います。

    #34382
    makoto
    参加者

    どうもうまく伝えられてないようです・・・。

      abcあabcいabc

    ↑の場合、先頭のabcと末尾のabcのみ消して途中のabcは残したく、消去する文字列はabc固定では無い(cbaやaabbccなど、aとbとcによる無限の組み合わせがある)、という感じなのでremove$は使用できません。
    消したい文字を正規表現で書くと^[a-c]+と[a-c]+$になります。
    多分そういうエクステンションは無いんですね。自前でなんとかしてみます。
    ありがとうございました。

    #34387
    ASD
    キーマスター

    前回は『消す文字が固定』の場合のサンプルでしたが、今回は『消す文字の位置が固定』の場合のサンプルです。いかがでしょうか。

    – サンプルプログラム
    https://blog.clickteam.jp/wp-content/uploads/2021/01/cf25_blog_2021-01-11_文字列の前後3文字を削除.zip

    #34388
    makoto
    参加者

    消したい文字か文字数が固定であれば頂いたサンプルで問題無いんですが、文字も文字数も不定なんです。文字数が0の場合も100の場合もあります。
    なので、その文字数を求めるためにループで先頭と末尾から1文字づつチェックしていたんですが、大量に行うと遅くなってしまった次第でして。

    #34391
    ASD
    キーマスター

    消したい文字列と取り出したい文字列の間に区切り文字を入れ、String tokenizerで分割して取り出す方法です。

    – サンプルプログラム
    https://blog.clickteam.jp/wp-content/uploads/2021/01/cf25_blog_2021-01-11_文字列を分割し中央のみ取り出す.zip

    #34392
    makoto
    参加者

    事前に元の文字列にデリミタを入れるなどの加工は無しで行いたいです。
    デリミタが入れられるのであれば、不要な部分がすでに判明しているということですので・・・。
    求めている動作はC#やJAVAで言うところのTrimメソッドです。
    とりあえず自前で対応しましたが、もし該当するエクステンションがございましたらご紹介頂けると助かります。

9件の投稿を表示中 - 1 - 9件目 (全9件中)
  • このトピックに返信するにはログインが必要です。