重複の可能性:
先頭と末尾のスペースをJava文字列 から削除
アプリケーションにデータをインポートするとき、特定の文字列の最後のスペースを削除する必要がありますが、最初のスペースは削除しないため、trim()を使用できません...メソッドを設定しました。
public static String quitarEspaciosFinal(String cadena) {
String[] trozos = cadena.split(" ");
String ultimoTrozo = trozos[trozos.length-1];
return cadena.substring(0,cadena.lastIndexOf(ultimoTrozo.charAt(ultimoTrozo.length()-1))+1);
}
ここで、cadenaは変換する必要のある文字列です...
したがって、cadena = "1234"の場合、このメソッドは "1234" ..を返します。
これを行うためのより効率的な方法があるかどうか知りたいのですが...
正規表現_\s+$
_を使用して、文字列でreplaceAll()
メソッドを使用できます。
_return cadena.replaceAll("\\s+$", "");
_
(集計や新しい行ではなく)実際のスペースのみを削除する場合は、_\\s
_を正規表現内のスペースに置き換えます。
Apache Commonsライブラリ 適切なメソッドがあります stripEnd
。
String s = " this has spaces at the beginning and at the end ";
String result = s.replaceAll("\\s+$", "");
public static String replaceAtTheEnd(String input){
input = input.replaceAll("\\s+$", "");
return input;
}
私はこのようにします:
public static String trimEnd(String s)
{
if ( s == null || s.length() == 0 )
return s;
int i = s.length();
while ( i > 0 && Character.isWhitespace(s.charAt(i - 1)) )
i--;
if ( i == s.length() )
return s;
else
return s.substring(0, i);
}
正規表現を使用するよりもはるかに冗長ですが、より効率的である可能性があります。