簡體   English   中英

刪除Java字符串中的字符

[英]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'");

您還可以使用replacedelete從緩沖區中刪除子字符串。 完成緩沖區的編輯后,只需使用SQL.toString()

如果您想要可變的東西,請不要使用字符串。 相反,最好使用StringBuilder對象。 然后,在完成修改后,可以對其調用toString()以獲取所需的String。 API將向您顯示該靈活類的方法。

字符串是不可變的類。 這是另一種解決方案:轉換為StringBufferStringBuilder並將其從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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM