c++判断字符串全是字母或数字

使用 std::all_of 判断字符串是否全为字母、数字或字母数字

#include <iostream>
#include <string>
#include <algorithm>
#include <cctype> // 用于 isdigit, isalpha 等函数

// std::islower(ch); // 判断字符是否是小写字母
// std::isupper(ch); // 判断字符是否是大写字母

// 判断字符串是否全是字母 bool isAlpha(const std::string& str) { return std::all_of(str.begin(), str.end(), [](char ch) {      return std::isalpha(ch); // 检查每个字符是否为字母 }); } // 判断字符串是否全是数字 bool isDigit(const std::string& str) { return std::all_of(str.begin(), str.end(), [](char ch) {     return std::isdigit(ch); // 检查每个字符是否为数字 }); } // 判断字符串是否仅包含字母或数字 bool isAlphaNum(const std::string& str) { return std::all_of(str.begin(), str.end(), [](char ch) {     return std::isalnum(ch); // 检查每个字符是否为字母或数字 }); } int main() { std::string input; std::cout << "请输入字符串:"; std::cin >> input; if (isAlpha(input)) { std::cout << "字符串全是字母。" << std::endl; } else if (isDigit(input)) { std::cout << "字符串全是数字。" << std::endl; } else if (isAlphaNum(input)) { std::cout << "字符串仅包含字母或数字。" << std::endl; } else { std::cout << "字符串包含其他字符。" << std::endl; } return 0; }

 

- 使用 std::regex(正则表达式)

#include <iostream>
#include <string>
#include <regex>

// 判断字符串是否全是字母
bool isAlpha(const std::string& str) {
    std::regex alpha_pattern("^[A-Za-z]+$");
    return std::regex_match(str, alpha_pattern);  // 判断是否匹配字母模式
}

// 判断字符串是否全是数字
bool isDigit(const std::string& str) {
    std::regex digit_pattern("^[0-9]+$");
    return std::regex_match(str, digit_pattern);  // 判断是否匹配数字模式
}

// 判断字符串是否仅包含字母或数字
bool isAlphaNum(const std::string& str) {
    std::regex alphanum_pattern("^[A-Za-z0-9]+$");
    return std::regex_match(str, alphanum_pattern);  // 判断是否匹配字母或数字模式
}

int main() {
    std::string input;
    std::cout << "请输入字符串:";
    std::cin >> input;

    if (isAlpha(input)) {
        std::cout << "字符串全是字母。" << std::endl;
    } else if (isDigit(input)) {
        std::cout << "字符串全是数字。" << std::endl;
    } else if (isAlphaNum(input)) {
        std::cout << "字符串仅包含字母或数字。" << std::endl;
    } else {
        std::cout << "字符串包含其他字符。" << std::endl;
    }

    return 0;
}

 

  

posted @ 2024-11-29 16:14  我自逍遥笑  阅读(10)  评论(0编辑  收藏  举报