日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

java string replace 重载_关于Java:如何使用replace(char,char)替换字符b的所有实例为空...

發布時間:2023/12/10 java 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java string replace 重载_关于Java:如何使用replace(char,char)替换字符b的所有实例为空... 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

如何使用replace(char,char)將字符" b"的所有實例全部替換為空。

例如:

Hambbburger to Hamurger

編輯:有一個約束,我只能使用1.4.2,這意味著沒有重載版本的replace!

你不能因為什么都不是字符! 為什么不能使用replace(String,String)?

Java的可能重復項:從字符串中刪除所有出現的char

嗨,Dogbane,適用于Java 5及更高版本,其1.4.2版將沒有重載版本。

還有一個replaceAll函數使用字符串,但是請注意,它會將它們評估為正則表達式,但是替換單個字符就可以了。

這是一個例子:

String meal ="Hambbburger";

String replaced = meal.replaceAll("b","");

請注意,replaced變量是必需的,因為replaceAll不會更改字符串的位置,而是創建一個替換的字符串(String在Java中是不可變的)。

如果要替換的字符在正則表達式中具有不同的含義(例如. char將匹配任何char,而不是點),則需要quote第一個參數,如下所示:

String meal ="Ham.bur.ger";

String replaced = meal.replaceAll(Pattern.quote("."),"");

它對于b可以正常工作,但是對于.則不行...

@Sean,我第一次錯過了函數名稱,然后對其進行了編輯:)

你為什么改變答案? String.replace()更好!

關于String#replace(@MByD)的答案已經很不錯了,因為replace重載是java6或更高版本,所以請不要理會

(@Pablo Fernandex)是否有嚴格的方法僅使用replace(char,char)來實現這一目標?

@Pablo沒有看到要求。 Java 1.4.x:令人討厭。我去找另一份工作:-)

@沒有沒有

@Sean,不用擔心,最后一句話不是原始問題的一部分:)

@Pablo對此表示感謝。

@Sean抱歉,我這么晚才傳達。

字符串是不可變的,因此請確保將結果分配給字符串。

String str ="Hambbburger";

str = str.replace("b","");

如果使用Java 6,則不需要replaceAll。請參見此處:replace

我知道有一個replace重載!

試試這個代碼。

public class main {

public static void main(String args[]){

String g="Hambbburger.i want to eat Hambbburger.";

System.out.print(g);

g=g.replaceAll("b","");

System.out.print("---------After Replacement-----

");

System.out.print(g);

}

}

輸出

Hambbburger.i想吃漢堡包。 ---------更換后-----

Hamurger.i想吃Hamurger。

String text ="Hambbburger";

text = text.replace('b', '\0');

'\0'代表ASCII碼中的NUL。

@Tom打印Hamurger。

然后,您的控制臺會以與我的不同的方式打印它,因為我的控制臺顯式顯示了\0字符(不能在此處顯示它,因為SO刪除了它們)。因此,此解決方案可能取決于將在其上運行的系統。奇怪。

應該刪除答案,因為它是錯誤的\000除了NUL字符外什么都不代表。更換前后檢查text的長度!它沒有改變。

@GuidoFlohr編輯答案。的確,長度沒有變化,并且那些NUL仍然存在。但這確實滿足了OP的要求。

@Andrew OP要求什么都不要替換,但NUL字節不是什么,而是有時看起來什么都不是(并且比NUL還要有很多不可打印的字符,例如" u200b",也稱為零寬度空間)。在代碼中添加" System.out.println(text)",將輸出重定向到文件,然后在vi / vim中打開它。您將讀到" Ham ^ A ^ A ^ Aurger",因為NUL字節是CTRL-A。原始海報清楚地表示"刪除bs",而您的代碼則不這樣做。抱歉,如果這聽起來很粗魯,但您的回答對初學者來說很混亂,而且實際上沒有幫助。

"……有時候看起來……"->"…………有時候看起來……"

String str="aabbcc";

int n=str.length();

char ch[]=str.toCharArray();

for(int i=0;i

{

for(int j=i+1;j

{

if(ch[i]==ch[j])

{

ch[j]='*';

}

}

}

String temp=new String(ch);

for(int i=0;i

{

if(temp.charAt(i)!='*')

System.out.print(temp.charAt(i));

}

您也可以更改相同字符的位置。此代碼也將起作用。

String中的replaceAll無法正常工作。建議始終使用replace()

例如:-

String s="abcdefabcdef";

s=s.replace("a","");

嗨,歡迎來到。 replaceAll很好,不確定從哪里得到的-您是否有特定的越野車箱?另外,您也不會回答這個問題-OP想要刪除一個字符,而沒有辦法通過replace(char,char)來實現。

總結

以上是生活随笔為你收集整理的java string replace 重载_关于Java:如何使用replace(char,char)替换字符b的所有实例为空...的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。