私がパラメータとして送る文字列が文字として最初の4文字を持ち、最後の3文字が数字であり、正確に7文字であることを確認する関数を作成する必要があります。この関数をどのようにコード化しますか?文字列に一定の文字数と数字があるかどうかを確認するにはどうすればよいですか?
答えて
最も簡単な解決策は、個々の文字をチェックし、文字列をループになり、例えば:また
#include <string>
#include <cctype>
bool is4LettersAnd3Digits(const std::string &s)
{
if (s.length() != 7)
return false;
for (int i = 0; i < 4; ++i) {
if (!std::isalpha(s[i]))
return false;
}
for (int i = 4; i < 7; ++i) {
if (!std::isdigit(s[i]))
return false;
}
return true;
}
:
#include <string>
#include <algorithm>
#include <cctype>
bool is4LettersAnd3Digits(const std::string &s)
{
return (
(s.length() == 7) &&
(std::count_if(s.begin(), s.begin()+4, std::isalpha) == 4) &&
(std::count_if(s.begin()+4, s.end(), std::isdigit) == 3)
);
}
また、C++ 11以降を使用している場合:
#include <string>
#include <algorithm>
#include <cctype>
bool is4LettersAnd3Digits(const std::string &s)
{
if (
(s.length() == 7) &&
std::all_of(s.begin(), s.begin()+4, std::isalpha) &&
std::all_of(s.begin()+4, s.end(), std::isdigit)
);
}
'std :: count_if'を' std :: all_of'に置き換えました。 – lisyarus
@lisyarus 'std :: all_of()'はC++ 11で新しく追加されました。 'std :: count_if()'は以前のバージョンに存在します。私は私の答えを更新しました。 –
C++ 11が使用できない環境が存在することは完全に理解していますが、C++言語の現在の公式標準(デフォルトではC++ 14)を想定するのは理にかなっています。古いバージョンを使用する必要がある場合は、これを質問に明記する必要があります。 これ以外に、素敵な答え! – lisyarus
- 1. 文字列内の各文字が特定の文字であるかどうかを確認するにはどうすればよいですか?
- 2. 文字列に英数字以外の文字が含まれているかどうかを確認するにはどうすればよいですか?
- 3. JavaScriptの文字列内の文字が特定の文字かどうかを確認するにはどうすればよいですか?
- 4. 文字列に文字/数字が含まれているかどうかを確認する
- 5. 数字が回文かどうかを確認するには?
- 6. Javaで文字が文字でも数字でもないかどうかを確認するにはどうすればよいですか?
- 7. 文字列に特定の文字が含まれているかどうかを確認するにはどうすればよいですか?
- 8. 文字列に英数字とダッシュだけが含まれているかどうかを確認するにはどうすればよいですか?
- 9. 文字列/数字を文字列に追加するにはどうすればよいですか?
- 10. appwayスクリプトで文字列に部分文字列が含まれているかどうかを確認するにはどうすればよいですか?
- 11. 文字列がClosureに大文字であるかどうかを確認するにはどうすればよいですか?
- 12. 文字列に数値または文字以外の数字、文字、文字が少なくとも1つ含まれているかどうかを確認するにはどうすればよいですか?
- 13. ユーザーからの指定された文字列が複素数であるかどうかを確認するにはどうすればよいですか?
- 14. 文字が文字列内にあるかどうかを確認するにはどうすればよいですか?
- 15. 文字列にGoのアルファベット文字のみが含まれているかどうかを確認するにはどうすればよいですか?
- 16. 文字列が別の文字列と等しいかどうかを確認するにはどうすればよいですか?
- 17. 文字列変数をxcodeの文字列と比較するにはどうすればよいですか?
- 18. 文字列に文字のリストが含まれているかどうかを確認するにはどうすればよいですか?
- 19. 特定の文字列が別の文字列内にあるかどうかを確認するR
- 20. 文字列に特殊文字が含まれているかどうかを確認するにはどうすればよいですか?
- 21. VB.NET文字列にアルファベット文字と。が含まれているかどうかを確認するにはどうすればいいですか?
- 22. 文字列内の文字、数字、特殊文字を確認するにはどうすればよいですか?
- 23. 文字が整数かどうかを確認する方法
- 24. ある文字列が他の文字列にあるかどうかを確認する方法
- 25. 文字列が浮動小数点数であるかどうかを確認するにはどうすればよいですか?
- 26. 数字が一連の数字のいずれかと一致するかどうかを確認するjavascript
- 27. Android/Java - 文字列に絵文字/顔文字があるかどうかを検出するにはどうすればよいですか?
- 28. 文字列がユニコード文字と等しいかどうかを確認するにはどうすればよいですか?
- 29. 文字列に列に文字列が含まれているかどうかを確認する方法MySQL
- 30. 文字がスラッシュであるかどうかを確認する
regexを使用することができます: '[A-Za-z] {4} [0-9] {3}' – Brandon
私のクラスy主に、文字列ライブラリに含まれるものなど、基本的なものを使用する必要があります。 –
長さをチェックする 'std :: string :: length()'は7で、文字の範囲を調べる 'std :: count_if()'は予想される文字数と桁数を含んでいます。または、正規表現ライブラリを使用します。 –