Android 如何去除字符串前面的空白?

Android 如何去除字符串前面的空白?,android,Android,有一串“早上好”。我想删除字符串开头的边距(可能不是空格,可能是换行),并保留边距的中间和后面。 如何执行此操作?当trim()删除前导和尾随空格时,要仅删除前导空格,您需要实现自己的ltrim方法,如下所示: public static String ltrim(String s) { int i = 0; while (i < s.length() && Character.isWhitespace(s.charAt(i))) { i++

有一串“早上好”。我想删除字符串开头的边距(可能不是空格,可能是换行),并保留边距的中间和后面。 如何执行此操作?

trim()删除前导和尾随空格时,要仅删除前导空格,您需要实现自己的ltrim方法,如下所示:

public static String ltrim(String s) {
    int i = 0;
    while (i < s.length() && Character.isWhitespace(s.charAt(i))) {
        i++;
    }
    return s.substring(i);
}

String myString = " whitespace be gone!";
String trimmedString = ltrim( myString );
公共静态字符串ltrim(字符串s){
int i=0;
而(i
String b=“这是测试用的”

对于(int i=0;i正则表达式在这里可以很好地工作。当短语(^)开头出现一个或多个空格字符(\\s+)时,用空字符串替换前面的空格字符

private static String trimLeading(String value) {
    return value != null ? value.replaceFirst("^\\s+", "") : null;
}
使用JUnit/hamcrest进行测试:

@Test
public void test() {
    assertThat(trimLeading("good morning "), is("good morning "));
    assertThat(trimLeading(" good morning "), is("good morning "));
    assertThat(trimLeading("  good morning "), is("good morning "));
    assertThat(trimLeading("\ngood morning "), is("good morning "));
    assertThat(trimLeading("\rgood morning "), is("good morning "));
    assertThat(trimLeading("\tgood morning "), is("good morning "));
    assertThat(trimLeading(" \t \n \r  good morning "), is("good morning "));
}

该字符串显示在何处?例如TextView?EditText?使用正则表达式。请参见以下内容:这并不能回答提出的问题。
@Test
public void test() {
    assertThat(trimLeading("good morning "), is("good morning "));
    assertThat(trimLeading(" good morning "), is("good morning "));
    assertThat(trimLeading("  good morning "), is("good morning "));
    assertThat(trimLeading("\ngood morning "), is("good morning "));
    assertThat(trimLeading("\rgood morning "), is("good morning "));
    assertThat(trimLeading("\tgood morning "), is("good morning "));
    assertThat(trimLeading(" \t \n \r  good morning "), is("good morning "));
}