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

标签 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";
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();

关于java - 修剪 Java 字符串中不需要的字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36900161/

相关文章:

arrays - 检查列表字符串中的元素是否为 BigQuery

javascript - 如果 html 内联元素内部有 block 元素,如何使用 javascript 拆分它

java - 用java监控系统的平台访问和花费时间

java - 如何使用 VoltDB 中的最终字符串创建动态字段的 sql 查询?

Java:观察者模式在新线程中通知

java - 如何在 Selenium Java 中为 Chrome 设置代理设置

python - 如果整个字符串至少包含一个字母,则将整个字符串与空格匹配

string - SAS 无法识别日期格式

c# - 使用 C# 序列化二进制字符串并使用 C++ 反序列化它

python - python str.split() 不一致吗?