java - 字符串只包含字母

标签 java string

我是 Java 编程的新手,我需要帮助。 创建一个 String 表,用户给出大小。随后,用户提供字符串。我想打印字符但不打印不是字母表字母的字符(例如 java!4 --> java, ja/?,.va --> java)

public static void main (String[] args) {

String[] x = new String[size];
int size;
String str= "";

BufferedReader input = new BufferedReader(new InputStreamReader(System.in));

System.out.print("Give me size: ");
size = Integer.parseInt(input.readLine());


    for(int i=0; i<size; i++){
    System.out.print("Give me a String: ");
    str = input.readLine();
    x[i]=str;
    }


}

我正在互联网上寻找这段代码:

    if (str.matches("[a-zA-Z]")){
System.out.println(str);
}

最佳答案

您可以使用一个非常简单的正则表达式来做到这一点:s/[^A-z]//g。这将不替换字符串中不在 A-z 范围内的所有字符,它封装了所有字母(大写和小写)。只需执行 new_string = old_string.replaceAll("[^A-z]", "");

关于java - 字符串只包含字母,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13201497/

相关文章:

java - 尝试使用循环获取模式数据时出现异常

java - 子类中的 JPanel 未正确添加到驱动程序 JFrame

python - 在不使用 str() 的情况下将类对象用作字符串

c - 在定义字符串大小 C 中使用#define

python - 将字符串(不带任何分隔符)转换为列表

c - 为什么 char* 会导致未定义的行为,而 char[] 不会?

java - JTree显示问题

java - 封装:java中为什么叫keySet

java - 在 Windows 上使用 JNI 从 Java 调用 Golang 导致 "A dynamic link library (DLL) initialization routine failed"

php - javascript 和 php 中字符串与数组的处理速度,以及数组是否可以在不进行操作的情况下传递给 php?