Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
修剪Java字符串中不需要的字符_Java_String_Split_Trim_Text Processing - Fatal编程技术网

修剪Java字符串中不需要的字符

修剪Java字符串中不需要的字符,java,string,split,trim,text-processing,Java,String,Split,Trim,Text Processing,我有几个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

我有几个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
class能帮我吗?关于正则表达式的思考


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

,因为要修剪的部分大小恒定,您只需使用子字符串:

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

由于要修剪的零件大小不变,因此只需使用子字符串:

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

您可以对
“-git”
使用
test=test.replace(“ab-”,“”)
和类似的方法,也可以使用
test=StringUtils.removeStart(test,“ab-”)
和类似的
removeEnd


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

您可以使用
test=test.replace(“ab-”,“”)
和类似的
“-git”
或者您可以使用
test=StringUtils.removeStart(test,“ab-”)
和类似的,
删除


如果您可以使用
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();

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

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

如果字符串的开头总是包含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

要了解有关子字符串的更多信息,请单击

,如果字符串的开头总是包含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

要了解有关子字符串的详细信息,请单击

谢谢,我刚刚编辑了我的问题以消除更多数据并更改为大写字母。谢谢,我刚刚编辑了我的问题以消除更多数据并更改为大写字母。谢谢,我刚刚编辑了我的问题以消除更多数据并更改为大写字母。如果您想要空格而不是连字符,使用
test.replaceAll(“-”,”)
。如果不需要空格,请使用
test.replaceAll(“-”,”)
。如果需要所有大写字母,请使用
test.toUpperCase()
。如果你想在每个单词上使用大写字母,你需要自己做一些逻辑运算。谢谢,我刚刚编辑了我的问题以消除更多数据并改为大写字母。如果你想要空格而不是连字符,请使用
test.replaceAll(“-”,“”)
。如果不需要空格,请使用
test.replaceAll(“-”,”)
。如果需要所有大写字母,请使用
test.toUpperCase()
。如果你想在每一个单词上都加上大写字母,你需要做一些你自己的逻辑。