如果我有一个字符串,例如以下之一:
AlphaSuffix
BravoSuffix
CharlieSuffix
DeltaSuffix
将AlphaSuffix
转换为 Alpha
到BravoSuffix
转换为 Bravo
的最简洁的Java语法是什么?
答案 0 :(得分:4)
砍掉它。
String given = "AlphaSuffix"
String result = given.substring(0, given.length()-"Suffix".length());
为了使其更简洁,请创建一个实用工具方法。
public static String chop(String value, String suffix){
if(value.endsWith(suffix)){
return value.substring(0, value.length() - suffix.length());
}
return value;
}
在实用程序方法中,我添加了一个检查以查看后缀是否实际位于value
的末尾。
测试:
String[] sufs = new String[] {
"AlphaSuffix",
"BravoSuffix",
"CharlieSuffix",
"DeltaSuffix"
};
for (int i = 0; i < sufs.length; i++) {
String s = chop(sufs[i], "Suffix");
System.out.println(s);
}
给出:
Alpha
Bravo
Charlie
Delta
答案 1 :(得分:4)
使用简单的正则表达式删除后缀:
String myString = "AlphaSuffix";
String newString = myString.replaceFirst("Suffix$", "");
答案 2 :(得分:0)
如果后缀全部不同/未知,则可以使用
myString.replaceFirst("^(Alpha|Bravo|Charlie|Delta|...).*", "$1");