从字符串中删除特定标记

时间:2013-01-16 11:10:31

标签: java string

我必须从String变量中删除特定的标记。

例如: 如果String变量与"GUID+456709876790"类似,我需要从字符串中删除"GUID+"部分,只需要"456709876790"

怎么做?

6 个答案:

答案 0 :(得分:7)

两个选项:

  • 当你刚刚从开始中删除时,你可以很容易地使用子字符串:

    text = text.substring(5);
    // Or possibly more clearly...
    text = text.substring("GUID+".length());
    
  • 要在字符串中删除无处不在,只需使用replace:

    text = text.replace("GUID+", "");
    

请注意在后一种情况下使用String.replace()而不是String.replaceAll() - 后者使用正则表达式,这会影响+的含义。

答案 1 :(得分:3)

String s = "GUID+456709876790";
String token = "GUID+";
s = s.substring(s.indexOf(token) + token.length());
// or s = s.replace(token, "");

答案 2 :(得分:2)

如果您使用的是apache.commons.lang库,则可以使用StringUtils执行:

StringUtils.remove(yourString, token);

答案 3 :(得分:1)

  String str = "GUID+456709876790"

 str.substring(str.indexOf("+")+1)

答案 4 :(得分:1)

试试这个:

String a = "GUID+456709876790";
String s = a.replaceAll("\\D","");

我假设您只想要数字,因为我在这里使用正则表达式删除任何不是数字的东西

答案 5 :(得分:0)

这对我有用

String Line="test line 1234 abdc",aux;
token=new StringTokenizer(Line);

 while(token.hasMoreTokens())
   if(!("1234").equals(aux=token.nextToken())){ 
     new_line+= aux+" ";
     System.out.println("la nueva string es: "+ new_line);
   }