Java正则表达式删除字符串末尾的换行符和空格

时间:2015-06-09 03:23:24

标签: java regex

我是java正则表达式的新手,所以这个问题对某些人来说可能很容易。 我有一个原始字符串:

"\n\n This is \n\r simple \n     string \r   "

现在我想将其格式化为:

"This is \n\r simple \n    string"

我想在此字符串的开头和结尾修剪此tring。但trim()方法仅适用于空格(\ s)。

我尝试先使用替换

replaceFirst("[\\t\\n\\r]", "") 

并且它可以在字符串的开头处理。但是最后没有看到替换,所以我使用

replaceAll("[\\t\\n\\r]$", "\n")

" $"只会影响最后一个,但是在#34; \ r \ n \ n \ n \ n"的情况下,只有最后一个\ n被替换。

如何删除所有" \ r \ n \ n \ n \ n"在字符串的最后?

由于

更新:

对不起,我懒得不仔细测试。 trim()在这种情况下工作正常。

2 个答案:

答案 0 :(得分:1)

如果你开始使用正则表达式 * ,你可以这样做:

s = s.replaceAll("^\\s+|\\s+$", "");

Demo.

该表达式在开头(即^锚之后)或结尾(即$锚之前)删除一系列空格。

* 据推测,您可能只想将其作为一种学习练习,因为trim()方法完全相同。

答案 1 :(得分:1)

你不需要正则表达式,trim()将完成这项工作。

String result = oldstring.trim();

Ideone Demo