显然,当我使用正则表达式时,Java的正则表达式将变音符号和其他特殊字符计为非"单词字符".
"TESTÜTEST".replaceAll( "\\W", "" )
Run Code Online (Sandbox Code Playgroud)
为我返回"TESTTEST".我想要的只是删除所有真正的非"单词字符".没有任何东西的任何方式做到这一点
"[^A-Za-z0-9äöüÄÖÜßéèáàúùóò]"
Run Code Online (Sandbox Code Playgroud)
只是意识到我忘记了ô?
我使用reader.readLine()时,字符串长度始终为80个字符,并在主字符串unicode空格填充之后.有没有办法删除那些不需要的字符.(java.io.RandomAccessFile reader)String.trim没有在这方面工作
目前,当我使用java.security.signature进行签名时,它会传回一个字符串.我似乎无法使用这个字符串,因为只有当我将字符串复制到notepad ++时才能看到特殊字符,如果我删除这些特殊字符,我可以使用我程序中字符串的剩余部分.
在记事本中,它们看起来像黑盒子,上面写着ACK GS STX SI SUB ETB BS VT
我真的不明白它们是什么,所以很难说如何驾驭它们.
是否有一个函数可以运行以删除这些和可能类似的字符?
当我使用帖子中提供的base64类时,我不能回到签名
System.out.println(signature);
String base64 = Base64.encodeBytes(sig);
System.out.println(base64);
String sig2 = new String (Base64.decode(base64));
System.out.println(sig2);
Run Code Online (Sandbox Code Playgroud)
给出输出
”zÌý¥y]žd”xKmËY³ÕN´Ìå}ÏBÊNÈ›`Αrp~jÖüñ0…Rõ…•éh?ÞÀ_û_¥ÂçªsÂk{6H7œÉ/”âtTK±Ï…Ã/Ùê²
lHrM/aV5XZ5klHhLbctZs9VOtMzlfc9Cyk7Im2DOkXJwfmoG1vzxMIVS9YWV6Wg/HQLewF/7X6XC56pzwmt7DzZIN5zJL5TidFRLsc+Fwy/Z6rIaNA2uVlCh3XYkWcu882tKt2RySSkn1heWhG0IeNNfopAvbmHDlgszaWaXYzY=
[B@15356d5
Run Code Online (Sandbox Code Playgroud)