我正在尝试编写代码来查找java字符串中的特殊字符。
特殊字符是a-zA-Z.?@;'#〜!OUT $%^& *()_ + -=-`,。/<>
请帮助我理解并写下如何实现这一点。
谢谢
答案 0 :(得分:-1)
您可以从String创建一个char数组。
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.
}
答案 1 :(得分:-1)
您可以使用扫描仪在字符串中查找无效字符:
/* 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;
}
findInLine返回一个String,其中包含常量中未包含的所有字符(所有特殊字符)。您需要使用您认为非特殊的所有字符设置常量。
或者,如果您只想设置要查找的字符,可以使用以下方法修改上述示例:
public static final String SPECIAL_CHARACTERS = "a-zA-Z.?@;'#~!£$%^&*()_+-=¬`,./<>";
....
String specialCharacters= scanner.findInLine("[" + SPECIAL_CHARACTERS + "]+");
....
常量中使用的字符需要像往常一样用于正则表达式。
例如,要添加]
字符,您需要使用\\]