C#
です。
String.Contains
を使うやり方、LINQ
を使うやり方、正規表現を使うやり方で調べます。
特定の文字列(string
)が含まれているか調べる
String.Contains
を使う。
IndexOf
を使って戻り値が0以上か調べるより直感的です。
using System;
⋮
var text = "How razorback - jumping frogs can level six piqued gymnasts!";
var target = "jumping";
if (text.Contains(target))
Console.WriteLine($"{target}が含まれています");
特定の文字(char
)が含まれているか調べる
String
はIEnumrable<char>
を実装しています。
ですので、LINQ のEnumerable.Contains<TSource>
が使えます。
using System;
using System.Linq;
⋮
var text = "Jackdaws love my big sphinx of quartz";
char target = 'b';
if (text.Contains(target)) // <-拡張メソッドのほうの Contains
Console.WriteLine($"{target}が含まれています");
Enumerable.Any<TSource>
を使うともう少し柔軟です。
for
文で探すより直感的です。
using System;
using System.Linq;
⋮
var text = "Point of view is worth 80 IQ points.";
if (text.Any(c => char.IsDigit(c)))
Console.WriteLine("数字が含まれています");
複数の文字列(string
)、文字(char
) のいずれかが含まれているか調べる
複数ならContains
を ||
でつなぐより、正規表現を使うと簡単です。
using System;
using System.Text.RegularExpressions;
⋮
var text = "The quick onyx goblin jumps over the lazy dwarf.";
var pattern = "dragon|goblin|elf";
if (Regex.IsMatch(text, pattern))
Console.WriteLine("いずれかが含まれています。");
参考
「実戦で役立つ C#プログラミングのイディオム/定石&パターン」
超良書です。