删除字符串中逗号之前的字符

时间:2013-04-29 18:14:39

标签: java string

我想知道在字符串中逗号之前删除字符的最佳方法是什么,以及删除逗号本身,只留下字符串中逗号之后的字符,如果字符串表示为& #39;城市,国家'

提前致谢

5 个答案:

答案 0 :(得分:32)

所以你想要

  

城市,国家

成为

  

国家

这样做很简单:

public static void main(String[] args) {
    System.out.println("city,country".replaceAll(".*,", ""));
}

这是“贪婪”,但这意味着它会改变

  

城市,州,国家

  

国家

在您的情况下,您可能希望它成为

  

州,国家

我无法从你的问题中说出来。

如果您想要“非贪婪”匹配,请使用

System.out.println("city,state,country".replaceAll(".*?,", ""));

这将输出

  

州,国家

答案 1 :(得分:3)

如果您感兴趣的是在保留原始字符串完整的同时提取数据,则应使用split(String regex)函数。

String foo = new String("city,country");
String[] data = foo.split(",");

数据数组现在将包含字符串“city”和“country”。 有关详情,请访问:http://docs.oracle.com/javase/7/docs/api/java/lang/String.html#split%28java.lang.String%29

答案 2 :(得分:3)

检查这个

String s="city,country";
System.out.println(s.substring(s.lastIndexOf(',')+1));

我发现它比.replaceAll(".*,", "")

更快

答案 3 :(得分:1)

可以使用substringindexOf的组合来完成此操作,使用indexOf确定(第一个)逗号的位置,使用substring来提取部分相对于该位置的字符串。

String s = "city,country";
String s2 = s.substring(s.indexOf(",") + 1);

答案 4 :(得分:0)

你可以实现一种子字符串,在你的逗号之前找到所有字符索引,然后你需要做的就是删除它们。