Java中最简洁的方法是从“AlphaSuffix”中获取“Alpha”?

时间:2011-08-24 01:28:02

标签: java string

如果我有一个字符串,例如以下之一:

AlphaSuffix
BravoSuffix
CharlieSuffix
DeltaSuffix

AlphaSuffix转换为 Alpha BravoSuffix转换为 Bravo 的最简洁的Java语法是什么?

3 个答案:

答案 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");