特定の文字 ',' が存在する場合、最後のインデックスから文字列から削除する方法.削除することは可能ですか?
String str="update employee set name='david', where id=?";
特定の文字 ',' が存在する場合、最後のインデックスから文字列から削除する方法.削除することは可能ですか?
String str="update employee set name='david', where id=?";
これを試してみてください:
int index = str.length() - 2; //Calculating the index of the 2nd last element
str = str.subString(0,index); //This shall give you the string without the last element
または、「,」などの特定の文字を削除したい場合:
str.replace(",","");
また、indexOf() メソッド (または lastIndexOf() メソッド) を使用してインデックスを検索し、2 つの部分文字列を作成してから部分文字列をマージすることもできます。または、文字に基づいて文字列を分割し、分割された文字列をマージすることもできます。
文字列の最後の文字を確認し、それが「,」文字の場合は削除する場合は、次のようにします。
String str="update employee set name='david', where id=?,";
if(str.lastIndexOf(',') == str.length()-1){
str = str.substring(0, str.length()-1);
}
System.out.println(str);
この if ステートメントは、最後の ',' が文字列の最後の文字と同じインデックスにあるかどうかを確認します (つまり、文字列の最後の文字です)。その場合、最後の文字を削除し、新しい文字列を出力します。
入力:update employee set name='david', where id=?,
出力:update employee set name='david', where id=?
また
入力:update employee set name='david', where id=?
出力:update employee set name='david', where id=?
Apache Common-langの適切なソリューションStringUtils
StringUtils#removeEnd(String str, String remove)
StringUtils#removeEndIgnoreCase(String str, String remove)
removeEnd
メソッドは、ソース文字列の末尾にある場合にのみ部分文字列を削除します。大文字とremoveEndIgnoreCase
小文字を区別せずに同じことを行います。