我想知道在字符串中逗号之前删除字符的最佳方法是什么,以及删除逗号本身,只留下字符串中逗号之后的字符,如果字符串表示为& #39;城市,国家'
提前致谢
答案 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)
可以使用substring
和indexOf
的组合来完成此操作,使用indexOf
确定(第一个)逗号的位置,使用substring
来提取部分相对于该位置的字符串。
String s = "city,country";
String s2 = s.substring(s.indexOf(",") + 1);
答案 4 :(得分:0)
你可以实现一种子字符串,在你的逗号之前找到所有字符索引,然后你需要做的就是删除它们。