Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/366.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
java字符串中的特殊字符_Java_String_Character - Fatal编程技术网

java字符串中的特殊字符

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

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

特殊字符是a-zA-Z.?@;'#~!英镑$%^&*()美元+-=

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


谢谢

您可以从字符串创建字符数组

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有什么特别之处?熟悉正则表达式。使用正则表达式要容易得多,而不是定义一个包含所有特殊字符的列表,然后将每个字符与该列表进行比较