Java文字列から先頭または末尾のスペースを削除する便利な方法はありますか?
何かのようなもの:
String myString = " keep this ";
String stripppedString = myString.strip();
System.out.println("no spaces:" + strippedString);
結果:
no spaces:keep this
myString.replace(" ","")
はkeepとthisの間のスペースを置き換えます。
ありがとう
両端をトリミングするには、 String#trim()
methodまたはString allRemoved = myString.replaceAll("^\\s+|\\s+$", "")
を使用します。
左トリムの場合:
String leftRemoved = myString.replaceAll("^\\s+", "");
右トリムの場合:
String rightRemoved = myString.replaceAll("\\s+$", "");
docs :から
String.trim();
trim()があなたの選択ですが、もしあなたがreplace
メソッドを使いたいなら - もっと柔軟かもしれません - あなたは以下を試すことができます:
String stripppedString = myString.replaceAll("(^ )|( $)", "");
Java-11 では、String.strip
APIを使用して、先頭と末尾の空白をすべて削除したこの文字列を値とする文字列を返すことができます。同じ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"
特定の文字を削除するには、次のようにします。
String s = s.replaceAll("^(,|\\s)*|(,|\\s)*$", "")
これは先頭と末尾の space と comma を削除します。