[英]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.