Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/22.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中的Android.NET Trim函数?_Java_.net_Android_Trim - Fatal编程技术网

Java中的Android.NET Trim函数?

Java中的Android.NET Trim函数?,java,.net,android,trim,Java,.net,Android,Trim,在Android应用程序中,我正在寻找.NET字符串函数[Trim('aaa')]的功能,该函数将从字符串中删除文本“aaa”。我认为这在Java中本机是不可用的,而且我还没有在Android Java textutil库中看到这一功能 有没有一种简单的方法可以让Java应用程序修剪字符串中的一组字符?使用或。正则表达式修剪 规范不清楚,但可以使用正则表达式来实现这一点 下面是一个例子: // trim digits from end System.out.println(

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

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

使用或。

正则表达式修剪 规范不清楚,但可以使用正则表达式来实现这一点

下面是一个例子:

    // 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
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);
}
锚点
\A
\Z
分别匹配输入的开始和结束<代码>|是交替的
\d
是数字字符类的缩写<代码>+是“一个或多个”重复说明符。因此,模式
\d+\Z
是regex speak,表示“输入端的数字序列”

工具书类
  • -

文字修剪 如果您只需要文字后缀/前缀切分,则不需要正则表达式。下面是一个例子:

    // 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
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

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