2013-03-29 3 views
1

Существует строка «доброе утро». Я хочу удалить маржу в начале строки (возможно, это не пространство, это, возможно, фид строки) и сохраняет среднюю и заднюю границу поля. Как это сделать?Как удалить пробел перед строкой?

+0

Где отображается эта строка? т.е. TextView? Редактировать текст? – danielcooperxyz

+0

обрезать свою строку! – hasanghaforian

+1

Используйте регулярное выражение. См. Следующее: http://www.vogella.com/articles/JavaRegularExpressions/article.html и http://docs.oracle.com/javase/tutorial/essential/regex/ – Luis

ответ

1

Хотя 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); 
0
String b=" This is for test " 
for(int i=0;i<=b.length()-1;i++) 
    { 
    char temp=b.charAt(i); 
    if(temp==' ') 
    { 
     whitespaceNumber++; 
    } 
    } 
    System.out.println("Whitespace number is : "+whitespaceNumber); 
+0

Это не отвечает на поставленный вопрос. –

+0

Но это очень близко! –

1

Регулярное выражение будет хорошо работать здесь , Когда в начале фразы (^) появляются один или несколько символов пробелов (\\ 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 ")); 
} 
Смежные вопросы