java字符串中的特殊字符
我正在尝试编写一个代码来查找java字符串中的特殊字符 特殊字符是a-zA-Z.?@;'#~!英镑$%^&*()美元+-= 请帮助我理解并写下如何实现这一点java字符串中的特殊字符,java,string,character,Java,String,Character,我正在尝试编写一个代码来查找java字符串中的特殊字符 特殊字符是a-zA-Z.?@;'#~!英镑$%^&*()美元+-= 请帮助我理解并写下如何实现这一点 谢谢您可以从字符串创建字符数组 String string = "test"; char[] charArray = string.toCharArray(); 然后可以循环浏览所有字符: for(char character: charArray){ //check if the character is special and
谢谢您可以从字符串创建字符数组
String string = "test";
char[] charArray = string.toCharArray();
然后可以循环浏览所有字符:
for(char character: charArray){
//check if the character is special and do something with it, like adding it to an List.
}
您可以使用扫描仪查找字符串中的无效字符:
/* Regex with all character considered non-special */
public static final String REGULAR_CHARACTERS = "0-9a-z";
public static String specialCharacters(String string) {
Scanner scanner = new Scanner(string);
String specialCharacters= scanner.findInLine("[^" + REGULAR_CHARACTERS + "]+");
scanner.close();
return specialCharacters;
}
FindLine返回一个字符串,其中包含常量中未包含的所有字符(所有特殊字符)。你需要用所有你认为不特别的字符来设置常量。
或者,如果只想设置要查找的字符,可以使用以下命令修改上述示例:
public static final String SPECIAL_CHARACTERS = "a-zA-Z.?@;'#~!£$%^&*()_+-=¬`,./<>";
....
String specialCharacters= scanner.findInLine("[" + SPECIAL_CHARACTERS + "]+");
....
public static final String SPECIAL_CHARACTERS=“a-zA-Z.?@;”#~!$%^&*()_+-=,./;
....
String specialCharacters=scanner.findInLine(“[”+特殊字符+“]+”);
....
对于正则表达式,常量中使用的字符需要像往常一样进行替换
例如,要添加
]
字符,您需要使用\\]
a-zA-Z有什么特别之处?熟悉正则表达式。使用正则表达式要容易得多,而不是定义一个包含所有特殊字符的列表,然后将每个字符与该列表进行比较