web-dev-qa-db-ja.com

Java文字列から前後のスペースを削除する

Java文字列から先頭または末尾のスペースを削除する便利な方法はありますか?

何かのようなもの:

String myString = "  keep this  ";
String stripppedString = myString.strip();
System.out.println("no spaces:" + strippedString);

結果:

no spaces:keep this

myString.replace(" ","")はkeepとthisの間のスペースを置き換えます。

ありがとう

256
Tyler DeWitt

あなたはtrim()メソッドを試すことができます。

String newString = oldString.trim();

javadocs をご覧ください。

568
woliveirajr

両端をトリミングするには、 String#trim() methodまたはString allRemoved = myString.replaceAll("^\\s+|\\s+$", "")を使用します。

左トリムの場合:

String leftRemoved = myString.replaceAll("^\\s+", "");

右トリムの場合:

String rightRemoved = myString.replaceAll("\\s+$", "");
76

docs :から

String.trim();
30
Richard H

trim()があなたの選択ですが、もしあなたがreplaceメソッドを使いたいなら - もっと柔軟かもしれません - あなたは以下を試すことができます:

String stripppedString = myString.replaceAll("(^ )|( $)", "");
15
James.Xu

Java-11 では、String.stripAPIを使用して、先頭と末尾の空白をすべて削除したこの文字列を値とする文字列を返すことができます。同じJavadocの読み方:

/**
 * Returns a string whose value is this string, with all leading
 * and trailing {@link Character#isWhitespace(int) white space}
 * removed.
 * <p>
 * If this {@code String} object represents an empty string,
 * or if all code points in this string are
 * {@link Character#isWhitespace(int) white space}, then an empty string
 * is returned.
 * <p>
 * Otherwise, returns a substring of this string beginning with the first
 * code point that is not a {@link Character#isWhitespace(int) white space}
 * up to and including the last code point that is not a
 * {@link Character#isWhitespace(int) white space}.
 * <p>
 * This method may be used to strip
 * {@link Character#isWhitespace(int) white space} from
 * the beginning and end of a string.
 *
 * @return  a string whose value is this string, with all leading
 *          and trailing white space removed
 *
 * @see Character#isWhitespace(int)
 *
 * @since 11
 */
public String strip()

これらのためのサンプルケースは以下のとおりです。

System.out.println("  leading".strip()); // prints "leading"
System.out.println("trailing  ".strip()); // prints "trailing"
System.out.println("  keep this  ".strip()); // prints "keep this"
2
Naman

特定の文字を削除するには、次のようにします。

String s = s.replaceAll("^(,|\\s)*|(,|\\s)*$", "")

これは先頭と末尾の space comma を削除します。

0
Galley