TStringsの IndexOf(s)<>-1 的なヤツを文字列でやってみる

まずソースから。

改行文字で区切られた文字列リストの中に
指定の文字列があるかどうかチェックするには
IndexOfメソッドを使う事が多いかと思いますが、
そのためにTStringListをCreateするのは面倒。

なんて思った時に良く使う小技。
コストパフォーマンスについては度外視。

検索したい文字列をSubStr
改行文字で区切られた文字列リストをStr
という引数を使用して呼び出します。

存在すればTrue、存在しなければFalseを返します。

_CRLFは改行文字です。

 
やってることは単純で、
リストの前後に改行文字を追加、
検索文字列の前後にも改行文字を追加して
その文字列が存在するかチェックしているだけです。

改行文字を付けずに単純にPos関数でチェックした場合は、
リスト中の文字列の一部と一致してしまう可能性があるので、
改行文字で囲んでいます。

シェアする

  • このエントリーをはてなブックマークに追加

フォローする