文字列全体で文字列全体が1文字だけであるかどうかを確認するにはどうすればよいですか?たとえば、文字列変数 "Word1"に "_"(アンダースコア)のみが含まれていることを確認したいとします。文字列内の各文字が特定の文字であるかどうかを確認するにはどうすればよいですか?
Word1 = "____"と言うことができます。どのようにして、その変数の中に文字が何もないことを確認する方法はありますか?
文字列全体で文字列全体が1文字だけであるかどうかを確認するにはどうすればよいですか?たとえば、文字列変数 "Word1"に "_"(アンダースコア)のみが含まれていることを確認したいとします。文字列内の各文字が特定の文字であるかどうかを確認するにはどうすればよいですか?
Word1 = "____"と言うことができます。どのようにして、その変数の中に文字が何もないことを確認する方法はありますか?
使用LINQのAll
:charToTest
は、任意の位置で発見された場合にのみ
char charToTest = '_';
var result = myString.All(x => x == charToTest);
返しtrue
。さらに、任意の位置に別の文字がある場合、ステートメントは即座にfalse
を返します。
EDIT:文字列が空の場合、@ CSharpieはこれもまたtrue
を返します。前String.IsNullOrEmpty
ため、このチェックを回避するために:あなたはLINQの(using System.Linq
)
if (Word1.All(c => c == '_'))
{
// only underscores
}
はクリーンな方法ですが、あなたはまた、このタスクのための正規表現を使用することができます。以下のような
何か:のmyStringが空になったとき、それはまた、trueを返すことを一つ以上の_
Regex regex = new Regex(@"^(_+)$");
if (match.IsMatch(myString))
Console.WriteLine("Matched");
Linq Allでそれを行うことができます
var result = !String.IsNullOrEmpty(myString) && myString.All(x => x == charToTest);
注意がある場合
^(_+)$
にのみマッチします。あなたの最初の文は完全に正しいわけではありません。 – CSharpie@CSharpie Yeap、ヒントのおかげで、私は私の答えを更新しました。 – HimBromBeere