[英]Removing characters in a java string
我想從字符串中刪除字符。 示例:我有一個應用程序,當用戶選中復選標記時,它會構建sql腳本,因此,如果他們選中female,它將添加到String And Gender = 'Female'
。 如果他們選擇“男性”,則會添加And Where gender = 'Male'
。 在添加到字符串時,腳本會很好地運行,因為它們會被選中,但是當您取消選中某個項目時,我不確定如何刪除在選中時添加的字符。 我嘗試了.Replace
.ReplaceAll
和所有其他替換。 我知道我要刪除的字符串,為什么不將其替換為""
。
String SQL;
SQL += " AND Gender = 'Female'";
SQL.Replace("AND Gender = 'Female'","");
這行不通!
SQL = SQL.replace("AND Gender = 'Female'","");
字符串在Java中是不可變的
Java字符串(java.lang.String)是不可變的; 無法編輯。 您可以嘗試使用StringBuffer(java.lang.StringBuffer),它是用於返回字符串的可變緩沖區。
StringBuffer SQL = new StringBuffer();
SQL.append(" AND Gender = 'Female'");
您還可以使用replace
和delete
從緩沖區中刪除子字符串。 完成緩沖區的編輯后,只需使用SQL.toString()
。
如果您想要可變的東西,請不要使用字符串。 相反,最好使用StringBuilder對象。 然后,在完成修改后,可以對其調用toString()以獲取所需的String。 API將向您顯示該靈活類的方法。
字符串是不可變的類。 這是另一種解決方案:轉換為StringBuffer或StringBuilder並將其從startIndex刪除為endIndex
String s = "test tes te t ";
String str = new StringBuffer(s).delete(start, end).toString();
for example :
String str = new StringBuffer(s).delete(0, 8).toString();
System.out.println(str); // s te t
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.