我从数据库中获得了多个逗号(,
)的字符串.我想删除最后一个逗号,但我真的找不到一个简单的方法.
是)我有的: kushalhs, mayurvm, narendrabz,
我想要的是: kushalhs, mayurvm, narendrabz
aio*_*obe 124
要删除", "
紧跟字符串结尾的部分,您可以执行以下操作:
str = str.replaceAll(", $", "");
Run Code Online (Sandbox Code Playgroud)
这优雅地处理空列表(空字符串),而不是需要特殊处理这种情况的lastIndexOf
/ substring
solutions.
示例代码:
String str = "kushalhs, mayurvm, narendrabz, ";
str = str.replaceAll(", $", "");
System.out.println(str); // prints "kushalhs, mayurvm, narendrabz"
Run Code Online (Sandbox Code Playgroud)
注意:由于对部件有一些注释和建议编辑", $"
:表达式应与要删除的尾部相匹配.
"a,b,c,"
,请使用",$"
."a, b, c, "
,请使用", $"
."a , b , c , "
,请使用" , $"
.我认为你说对了.
sri*_*ini 10
你可以用这个:
String abc = "kushalhs , mayurvm , narendrabz ,";
String a = abc.substring(0, abc.lastIndexOf(","));
Run Code Online (Sandbox Code Playgroud)
使用Guava标准化所有逗号.将字符串分开在逗号周围,扔出容器,然后将它们全部连接在一起.两个电话.没有循环.第一次工作:
import com.google.common.base.Joiner;
import com.google.common.base.Splitter;
public class TestClass {
Splitter splitter = Splitter.on(',').omitEmptyStrings().trimResults();
Joiner joiner = Joiner.on(',').skipNulls();
public String cleanUpCommas(String string) {
return joiner.join(splitter.split(string));
}
}
public class TestMain {
public static void main(String[] args) {
TestClass testClass = new TestClass();
System.out.println(testClass.cleanUpCommas("a,b,c,d,e"));
System.out.println(testClass.cleanUpCommas("a,b,c,d,e,,,,,"));
System.out.println(testClass.cleanUpCommas("a,b,,, ,c,d, ,,e,,,,,"));
System.out.println(testClass.cleanUpCommas("a,b,c,d, e,,,,,"));
System.out.println(testClass.cleanUpCommas(",,, ,,,,a,b,c,d, e,,,,,"));
}
}
Run Code Online (Sandbox Code Playgroud)
输出:
a,b,c,d,e
a,b,c,d,e
a,b,c,d,e
a,b,c,d,e
a,b,c,d,e
就个人而言,我讨厌计算子串的限制和所有废话.