0

特定の文字 ',' が存在する場合、最後のインデックスから文字列から削除する方法.削除することは可能ですか?

String str="update employee set name='david', where id=?";
4

6 に答える 6

1

これを試してみてください:

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 つの部分文字列を作成してから部分文字列をマージすることもできます。または、文字に基づいて文字列を分割し、分割された文字列をマージすることもできます。

于 2013-08-22T09:33:47.557 に答える
0

文字列の最後の文字を確認し、それが「,」文字の場合は削除する場合は、次のようにします。

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=?

于 2013-08-22T10:03:34.900 に答える
0

Apache Common-langの適切なソリューションStringUtils

StringUtils#removeEnd(String str, String remove)
StringUtils#removeEndIgnoreCase(String str, String remove)

removeEndメソッドは、ソース文字列の末尾にある場合にのみ部分文字列を削除します。大文字とremoveEndIgnoreCase小文字を区別せずに同じことを行います。

于 2013-08-22T09:11:46.537 に答える