我想修剪字符串中最后出现的数字字符 例如:
"abc123"
=> "abc"
"abc12xyz34"
=> "abc12xyz"
写在片段下面以提取它。只想探索是否可以通过正则表达式来完成
private static String getNumericTrimmedString(String s)
{
for(int i = s.length()-1; i >=0 ; i--){
final char c = s.charAt(i);
if(!(c > 47 && c < 58)){
return s.substring(0,i+1);
}
}
return "";
}
此致 Brinal
答案 0 :(得分:6)
是的,可以做到:
String s = "abc12xyz34";
System.out.println( s.replaceAll("\\d+$", "" ) );
正则表达式的解释:
\d+
匹配至少一位数的序列$
匹配输入的结尾因此,您可以使用空字符串替换字符串末尾的任何数字,从而有效地删除它们。
答案 1 :(得分:6)
您可以使用以下正则表达式:
private static String getNumericTrimmedString(String s) {
return s.replaceAll("\\d+$", "");
}
\\d+
查找一个或多个数字
$
是字符串
答案 2 :(得分:3)
怎么样:
s = s.replaceAll("\\d*$","");