[英]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中是否有一个函数/类可以帮助我简化此类工作? 例如,类似:
String test = "ab-android-regression-4.4-git";
test.trim(ab, git)
另外, 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();
由于要修剪的部分的大小是恒定的,因此您应该简单地使用substring:
yourString.substring(3, yourString.length - 4)
您可以将test = test.replace("ab-", "")
和类似的"-git"
用于"-git"
,也可以使用test = StringUtils.removeStart(test, "ab-")
以及类似地, removeEnd
。
如果可以使用StringUtils
我更喜欢后者,因为如果匹配了这些表达式,它绝不会意外删除文件名的中间部分。
如果您的字符串始终在开头包含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
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.