簡體   English   中英

修剪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中是否有一個函數/類可以幫助我簡化此類工作? 例如,類似:

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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM