我的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
班可以帮我这个吗?关于正则表达的想法?
编辑部分: 我还想知道如何消除字符串中的-
字符并将所有内容更改为大写字母
答案 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