如何在Java中去除字符串中的所有非字母字符?


String类的**split()**方法接收一个表示分隔符的字符串值,并将字符串分割成标记(单词)数组,将两个分隔符之间的字符串作为一个标记。

例如,如果将单个空格“ ”作为分隔符传递给此方法并尝试分割一个字符串。此方法将两个空格之间的单词视为一个标记,并返回当前字符串中单词(空格之间)的数组。

如果字符串不包含指定的分隔符,则此方法返回一个包含整个字符串作为元素的数组。

正则表达式“\W+”匹配字符串中所有非字母字符(标点符号、空格、下划线和特殊符号)。

因此,要从字符串中删除所有非字母字符 -

  • 获取字符串。

  • 使用String类的**split()**方法将获得的字符串分割成字符串数组,并将上面指定的正则表达式作为参数传递给它。

  • 这将在每个非字母字符处分割字符串,并将所有标记作为字符串数组返回。

  • 将获得的数组中的所有元素连接成一个字符串。

示例

 现场演示

import java.util.Scanner;
public class RemovingAlphabet {
   public static void main(String args[]) {
      Scanner sc = new Scanner(System.in);
      System.out.println("Enter your name: ");
      String str = sc.nextLine();
      String[] stringArray = str.split("\W+");
      String result = new String();
      for(int i = 0; i < stringArray.length;i++){
         result = result+ stringArray[i];
      }
      System.out.println("Result: "+result);
   }
}

输出

Enter your name:
Krishna ^% Kasyap*@#
Result: KrishnaKasyap

更新于: 2019年10月14日

2K+ 浏览量

开启你的职业生涯

通过完成课程获得认证

开始学习
广告