【问题标题】:Android .NET Trim function in Java?Java中的Android .NET Trim功能?
【发布时间】:2011-03-26 23:09:50
【问题描述】:

在一个 Android 应用程序中,我正在寻找 .NET 字符串函数 [Trim('aaa')] 的功能,它将从字符串中删除文本“aaa”。我不认为这在 Java 中是原生可用的,而且我还没有在 Android Java textutil 库中看到该功能。

有没有一种简单的方法可以让 Java 应用程序从字符串中修剪一组字符?

【问题讨论】:

  • 根据 .NET 文档,您对 Trim 工作原理的描述不正确。
  • 从字符串编辑成字符数组

标签: java .net android trim


【解决方案1】:

使用trimreplaceAll

【讨论】:

    【解决方案2】:

    正则表达式修剪

    规范不明确,但可以使用正则表达式来做到这一点。

    这是一个例子:

        // trim digits from end
        System.out.println(
            "123a456z789".replaceAll("\\d+\\Z", "")
        );
        // 123a456z
    
        // trim digits from beginning
        System.out.println(
            "123a456z789".replaceAll("\\A\\d+", "")
        );
        // a456z789
    
        // trim digits from beginning and end
        System.out.println(
            "123a456z789".replaceAll("\\A\\d+|\\d+\\Z", "")
        );
        // a456z
    

    锚点\A\Z 分别匹配输入的开头和结尾。 | 是替代品。 \d 是数字字符类的简写。 + 是“一个或多个”重复说明符。因此,模式\d+\Z 是“输入末尾的数字序列”的正则表达式。

    参考文献


    文字修整

    如果您只想要文字后缀/前缀切割,则不需要正则表达式。这是一个例子:

    public static String chopPrefix(String s, String prefix) {
        if (s.startsWith(prefix)) {
            return s.substring(prefix.length());
        } else {
            return s;
        }
    }
    public static String chopSuffix(String s, String suffix) {
        if (s.endsWith(suffix)) {
            return s.substring(0, s.length() - suffix.length());
        } else {
            return s;
        }
    }
    public static String chopPresuffix(String s, String presuffix) {
        return chopSuffix(chopPrefix(s, presuffix), presuffix);
    }
    

    那么我们可以有:

        System.out.println(
            chopPrefix("abcdef", "abc")
        ); // def
    
        System.out.println(
            chopSuffix("abcdef", "ef")
        ); // abcd
    
        System.out.println(
            chopPresuffix("abcdef", "cd")
        ); // abcdef
    
        System.out.println(
            chopPresuffix("abracadabra", "abra")
        ); // cad
    

    【讨论】:

      猜你喜欢
      • 2017-02-06
      • 2018-01-18
      • 1970-01-01
      • 1970-01-01
      • 2013-11-06
      • 2011-11-01
      • 1970-01-01
      • 2012-09-02
      • 2011-06-26
      相关资源
      最近更新 更多