java字符串中的特殊字符

时间:2015-02-17 13:59:40

标签: java string character

我正在尝试编写代码来查找java字符串中的特殊字符。

特殊字符是a-zA-Z.?@;'#〜!OUT $%^& *()_ + -=-`,。/<>

请帮助我理解并写下如何实现这一点。

谢谢

2 个答案:

答案 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 + "]+");
....

常量中使用的字符需要像往常一样用于正则表达式。

例如,要添加]字符,您需要使用\\]