你如何使用string.trim()方法只在最后修剪白色空格?

时间:2013-07-30 11:29:02

标签: java .net string c#-4.0

如何使用string.trim()方法仅在末尾修剪空格?

我的意思是不影响正面的空间

ex:输入:“这是linkedin” o / p:“这是linkedin”

8 个答案:

答案 0 :(得分:13)

使用正则表达式:

str.replaceAll("\\s+$", "");
  1. \ s - 任何空格字符

  2. + - 匹配一个或多个空格字符

  3. $ - 在字符串的末尾

  4. 您可以从here了解更多信息。

答案 1 :(得分:3)

没有右边修剪方法,但你可以通过几种解决方法来完成。 一个包括在字符串的开头放置一个非空字符,修剪它然后删除字符。使用String.replaceAll()可以使用正则表达式。

答案 2 :(得分:2)

我相信你不能用trim()做到这一点。也许你可以找到有实用方法StringUtils#stripEnd()的Apache公共。

我没有对此进行过测试,但希望它适用于您的目的:

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

另一个解决方案是反复遍历从字符串中获取的char[]并删除不需要的字符!

答案 3 :(得分:0)

试试这个正则表达式

    str = str.replaceAll("(.+?) +", "$1");

答案 4 :(得分:0)

如果您必须使用 trim()方法,那么这可能会有所帮助: -

public class OP2 {
   public static void main(String[] s) {
      //object hash table 
       int index = 0;
       String s1 = "  sdfwf   ";
       for(int i=0;i<s1.length();i++)
       {
           if(s1.charAt(i)==' ')
               index = index + 1;
           else 
               break;
       }
       System.out.println(s1.substring(0,index)+ s1.trim());

   }
}

答案 5 :(得分:0)

如果查询是针对.net语言的,那么您可以使用内置的RTRIM方法来实现相同的目标。

答案 6 :(得分:0)

在.NET / C#中,您可以在字符串对象上使用TrimEnd方法:

" this is linkedin ".TrimEnd();

答案 7 :(得分:0)

public class RegexRemoveEnd {   
    public static String removeTrailingSpaces(String text) {
        return text.replaceAll(" +$", "");
    }
}