修剪Java字符串

时间:2016-04-27 20:24:11

标签: java string split trim text-processing

我的Java Strings很少,如下所示:

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

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

Java中是否有一个函数/类可以帮助我修改这些东西?例如,像:

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

另外,StringUtils班可以帮我这个吗?关于正则表达的想法?

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

4 个答案:

答案 0 :(得分:2)

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

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();

答案 1 :(得分:1)

由于要修剪的零件尺寸不变,您应该只使用子串:

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

答案 2 :(得分:1)

您可以对test = test.replace("ab-", "")使用"-git"和类似内容,或者使用test = StringUtils.removeStart(test, "ab-"),同样地removeEnd

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

答案 3 :(得分:0)

如果你的字符串总是包含在开头的-git和结尾的-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