文字列にaからzまでのすべてのアルファベットが含まれているかどうかをチェックするC#コードを記述する必要があります。 aからzまでのすべてのアルファベットを含むわけではないので、出力はnoです。 "abcdefghijklmnopqrstuvwxyz" aからzまでのすべてのアルファベットが含まれているので、出力はyesです。ここで文字列にaからzまでのすべての文字が含まれていることを確認してください
-4
A
答えて
0
あなたはすでに試してみましたがこれは何
public static class StringExtensions
{
private static char[] _alphabet;
static StringExtensions()
{
_alphabet = "abcdefghijklmnopqrstuvwxyz".ToCharArray();
}
public static bool ContainsAlphabet(this string input)
{
return !_alphabet
.Except(new HashSet<char>(input))
.Any();
}
}
"asdasd".ContainsAlphabet(); //false
"abcdeffffghijklmnopqrstuvwxyzzz".ContainsAlphabet(); //true
1
は、すべての文字を含む配列を初期化し、私はそれにアプローチしたい方法は次のとおりです。
char[] letters = new []{"a","b","c"...};
その後、あなたの文字列に存在するすべての文字を保持するリストを初期化:
List<char> lettersInString = new List<char>();
今ループ文字列に別の文字を追加する:
foreach (char letter in myString){if (!lettersInString.Contains(char)){lettersInString.Add(char);}}
最後に、リストにすべてのファイルが含まれているかどうかを確認しますtter:
if (letters.All(letter=>lettersInString.Contains(letter)){DoSomething();}
これはすべきことです!
+0
あなたの配列作成で 'new'を忘れました。 – vyrp
+0
私の間違い、良い点 –
0
私はHashSet
秒でそれを行うだろう:入力は句読点などの文字でない文字を含むことができるので、私はIsSubsetOf
なくEquals
を使用
bool HasAllLeters(string input)
{
var lettersInInput = new HashSet<char>(input); // or `input.ToLower()` for case insensitiveness
var alphabet = new HashSet<char>("abcdefghijklmnopqrstuvwxyz"); // you can actually store this as a `private static readonly` field for performance
return alphabet.IsSubsetOf(lettersInInput);
}
。
編集:input.ToLower()
は文字列全体を割り当てていることに気付きました。代わりにinput.Select(ch => char.ToLower(ch))
を使用してください。
関連する問題
- 1. 文字列がすべて別の文字列に含まれているか確認してください
- 2. 文字列にすべてのchar値が含まれていることを確認してください。
- 3. Lua - 文字列に有効な文字が含まれていることを確認してください
- 4. 文字列にa-zとA-Z文字のみが含まれていることを確認するにはどうすればよいですか?
- 5. 文字列に別の文字列が含まれていないか確認してください。
- 6. Groovy:文字列に複数の文字列が含まれていないか確認してください
- 7. React-Native:文字列に文字列が含まれていないか確認してください。
- 8. 文字列に大文字が含まれているかどうかを確認してください。
- 9. 文字列にリストにない文字が含まれていないか確認してください。
- 10. 文字列にRubyの別の文字列のすべての文字が含まれているかどうか確認してください
- 11. R、文字列に特殊文字が含まれていないか確認してください
- 12. 文字列にルビの数字だけが含まれていないか確認してください。
- 13. 文字列に配列のすべての文字列が含まれていることを確認してください
- 14. 文字列にリストのトークンが含まれていることを確認してください。
- 15. 文字ループの文字列を確認してください
- 16. コマンドに文字列か空文が含まれていないか確認してください。
- 17. 文字列が数字であることを確認してください
- 18. 文字列にJavaScriptの配列の要素が含まれていないか確認してください。
- 19. 文字列にキーワードの配列が含まれていないか確認してください
- 20. PHP配列に非特定の文字列が含まれていないか確認してください。
- 21. PHP - 文字列の文字数が4文字未満であることを確認してください。
- 22. 文字列にxmlデータまたはjsonデータが含まれているか確認してください。
- 23. 文字列に文字列が含まれているかどうかを確認してキャンセルしますか?
- 24. パンダの要素(リスト)に文字列が含まれているか確認してください
- 25. 単語の文字列に電子メールアドレスが含まれていないか確認してください。
- 26. 文字列の長さを検証し、React Reduxフォームに特定の文字が含まれていることを確認してください
- 27. 文字列に単語(部分文字列ではない)が含まれていることを確認してください
- 28. 許可されている文字または文字列の存在を確認してください
- 29. std :: vectorの文字列にC++の部分文字列が含まれていることを確認してください
- 30. 文字列に含まれている角括弧と区切り文字が平衡しているかどうかを確認してください。
のような拡張メソッドを使用できますか? –
これまでに何を試しましたか?あなたは何をしたいのですか?すべての文字をループしてみましたか? – Emad
[Stack Overflow](https://stackoverflow.com)は無料のコード作成サービスではありません。自分でコードを書くことが期待されます。さらに研究を重ねた後、問題があれば、何がうまくいかないかを明確に説明して、[最小、完全、および検証可能]を提供することができます(http://stackoverflow.com/help/ mcve)の例です。私は[質問する方法]([http://stackoverflow.com/questions/how-to-ask])[完璧な質問](http://codeblog.jonskeet.uk/2010/08/29/writing-完璧な質問/)また、[ツアー](http://stackoverflow.com/tour)を必ず取ること –