Trim Java 字符串中不需要的字符

Trim unwanted characters in a Java String

我有几个 Java 字符串如下:

ab-android-regression-4.4-git
ab-ios-regression-4.4-git
ab-tablet-regression-4.4-git

但是,我不想要如此冗长和不需要的名称,因此我想摆脱开始 ab- 和结束 -git 部分。所有字符串的模式都相同(以 ab 开头,以 git 结尾)

Java中是否有function/class可以帮助我修剪这些东西?例如,类似于:

String test = "ab-android-regression-4.4-git";
test.trim(ab, git)

此外,StringUtils class 可以帮我解决这个问题吗?关于正则表达式的想法?

编辑部分: 我也想知道如何消除字符串中的 - 字符并将所有内容更改为大写字母

由于 trim 的部分大小不变,您应该简单地使用 substring :

yourString.substring(3, yourString.length - 4)

您可以使用 test = test.replace("ab-", "") 和类似的 "-git" 或者您可以使用 test = StringUtils.removeStart(test, "ab-") 和类似的 removeEnd.

如果可以使用 StringUtils,我更喜欢后者,因为如果这些表达式匹配,它永远不会意外删除文件名的中间部分。

这是一个更通用的方法,用于从字符串中删除前缀和后缀:

public static String trim (String str, String prefix, String suffix)
{
    int indexOfLast = str.lastIndexOf(suffix);

    // Note: you will want to do some error checking here 
    // in case the suffix does not occur in the passed in String

    str = str.substring(0, indexOfLast);

    return str.replaceFirst(prefix, "");
}

用法:

String test = "ab-android-regression-4.4-git";
String trim = trim(test, "ab-", "-git"));

要删除“-”并变为大写,只需执行以下操作:

trim = trim.replaceAll("-", " ").toUpperCase();

如果您的字符串总是在开头包含 ab- 并且在结尾包含 -git 那么这里是代码

String test = "ab-android-regression-4.4-git";
test=test.substring(3, s.length() - 4);
System.out.println("s is"+s);  //output is android-regression-4.4

要了解有关子字符串的更多信息,请单击 https://docs.oracle.com/javase/tutorial/java/data/manipstrings.html