「おはようございます」という文字列があります。文字列の先頭のマージンを削除したい (スペースではなく、おそらく改行である可能性があります) と、マージンの中央と後ろを保持します。これを行う方法?
3 に答える
1
ここでは正規表現がうまく機能します。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 "));
}
于 2013-03-29T08:04:13.813 に答える
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 );
于 2013-03-29T02:29:20.600 に答える
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);
于 2013-03-29T03:41:17.507 に答える