小编fri*_*oft的帖子

从String中删除所有空格但保留一个换行符

我有这个输入字符串(包含标签,空格,换行符):


        That      is a test.              
    seems to work       pretty good? working.








    Another test  again.
Run Code Online (Sandbox Code Playgroud)

[编辑]:我应该提供String以便更好地测试,因为stackoverflow会删除所有特殊字符(制表符,...)

String testContent = "\n\t\n\t\t\t\n\t\t\tDas      ist ein Test.\t\t\t  \n\tsoweit scheint das \t\tganze zu? funktionieren.\n\n\n\n\t\t\n\t\t\n\t\t\t      \n\t\t\t      \n    \t\t\t\n    \tNoch ein  Test.\n    \t\n    \t\n    \t";
Run Code Online (Sandbox Code Playgroud)

我希望达到这种状态:


That is a test.
seems to work pretty good? working.
Another test again.
Run Code Online (Sandbox Code Playgroud)
String expectedOutput = "Das ist ein Test.\nsoweit scheint das ganze zu? funktionieren.\nNoch ein Test.\n";
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?这可以用正则表达式来实现吗?

replaceAll("\\s+", " ")不是我想要的.如果这个正则表达式将保留现有的1个换行符,那将是完美的.

我试过这个,但这对我来说似乎不太理想......:

BufferedReader bufReader = new BufferedReader(new StringReader(testContent));
String line = …
Run Code Online (Sandbox Code Playgroud)

java string whitespace removing-whitespace

7
推荐指数
2
解决办法
1万
查看次数

从String中删除除控制符之外的不可打印的utf8字符

我有一个包含文本,控制字符,数字,变音符号(德语)和其他utf8字符的字符串.

我想删除所有不是"语言的一部分"的utf8字符.特殊字符如(非完整列表)":/ \ßä,; \n\t"都应保留.

遗憾的是,stackoverflow删除了所有这些字符,因此我必须附加图片(链接).

有任何想法吗?非常感谢帮助!

PS:如果有人知道一个不会杀死那些特殊字符的粘贴服务,我会很乐意上传字符串..我只是找不到一个..

[编辑]:我认为正则表达式"\ P {Cc}"是我想要保留的所有字符.这个正则表达式是否可以反转,以便返回与此正则表达式不匹配的所有字符?

java regex non-printing-characters

5
推荐指数
1
解决办法
9574
查看次数