string.trim() メソッドを使用して、最後にのみ空白を削除するにはどうすればよいですか?
つまり、フロント側のスペースに影響を与えずに
ex : 入力 : "これはリンクされています" o/p : "これはリンクされています"
正しいトリミング方法はありませんが、いくつかの回避策を介して行うことができます。1 つは、文字列の先頭に空白以外の文字を配置し、それをトリミングしてから文字を削除することです。String.replaceAll() を使用すると、正規表現でそれを行うことができます。
ユーティリティメソッドStringUtils#stripEnd()trim()
を持つApache commonsを探すことができるかもしれません。
私はこれをテストしていませんが、あなたの目的のためにうまくいくことを願っています:
string = string.replaceAll("\\s+$", "");
別の解決策は、文字列から取得した を逆に反復処理しchar[]
、不要な文字を削除することです。
どうしてもトリム()メソッドを使用する必要がある場合、これが役立つ場合があります:-
public class OP2 {
public static void main(String[] s) {
//object hash table
int index = 0;
String s1 = " sdfwf ";
for(int i=0;i<s1.length();i++)
{
if(s1.charAt(i)==' ')
index = index + 1;
else
break;
}
System.out.println(s1.substring(0,index)+ s1.trim());
}
}
クエリが .net 言語用の場合は、組み込みの RTRIM メソッドを使用して同じことを実現できます。
public class RegexRemoveEnd {
public static String removeTrailingSpaces(String text) {
return text.replaceAll(" +$", "");
}
}