2011-08-10 12 views
9

replace(char, char)を使用して、文字「b」のすべてのインスタンスを何も置き換えません。例えばreplace(char、char)を使用して、文字bのすべてのインスタンスを無しに置き換えます。

Hambbburger to Hamurger 

EDIT:は制約が、私は唯一の置き換えのないオーバーロードされたバージョンを意味しない、1.4.2を使用することがあります!

+2

あなたは「何もない」という文字は文字ではありません!なぜあなたは 'replace(String、String)'を使うことができないのですか? –

+0

可能な複製[Java:文字列からすべての文字列を取り除く](http://stackoverflow.com/questions/4576352/java-remove-all-occurances-of-char-from-string) – dogbane

+0

こんにちはDogbane、つまりJava 5以降では、1.4.2で使用可能なオーバーロードされたバージョンはありません。 –

答えて

15

あり、それは正規表現としてそれらを試用版とそのことに注意してください、文字列を使用しますreplaceAll機能もだが、単一の交換charはうまくいくでしょう。

String meal = "Hambbburger"; 

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

replaceAllが代わりに文字列を変更するが、交換(StringはJavaで不変である)で新しいものを作成していないのでreplaced変数が必要であること:ここでは

は一例です。

String meal = "Ham.bur.ger"; 

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

それはB' 'のためではなく、' .' ... – MByD

+0

@Seanのために正常に動作します、私はそれを編集し、関数名を最初に逃し、:) –

+0

なぜあなたはあなたの答えを変更しましたか? String.replace()が優れています! –

4

文字列は不変なので、結果を文字列に割り当てる必要があります。

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

あなたはここを参照してくださいするJava 6を使用する場合でReplaceAllを必要としません:replace

+1

私は__knew__には、 '置き換え'過負荷があった! –

3
:置き換えたい文字を正規表現で異なる意味を持っている場合

あなたはquoteに、このような最初のパラメータが必要になります(例えば、.チャーは任意の文字ではなく、ドットと一致します)

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-----\n"); 
     System.out.print(g); 

} 
} 

それは、この出力を提供します....このコードを試してみてください.......

Hambbburger.iはHambbburgerを食べたいです。 ---------交換後----- Hamurger.iはHamurgerを食べたい。

-1

String内でReplaceAllは、(置き換える使用して、適切.ITの常にお勧めの作品をdoesnot)

例: -

String s="abcdefabcdef"; 
s=s.replace("a",""); 
+0

ねえ、ようこそ。 replaceAllはうまくいきます。どこから取得しているのかわかりません - 手に渡る特定のバグのケースがありますか?また、あなたは質問に答えることはありません - OPは*文字を削除することを望みますが、replace(char、char)でこれを行う方法はありません。 – pete23

2
String text = "Hambbburger"; 
text = text.replace('b', '\0'); 

'\0'は、ASCIIコードでは何を表していません。

+0

@Tom ItはHamurgerを印刷します。 – Andrew

+1

私のコンソールは明示的に '\ 0'文字を表示しているので、あなたのコンソールは私とは違った印字をします(SOはそれを削除するのでここには表示できません)。したがって、このソリューションは、実行されるシステムによって異なります。奇妙な。 – Tom

関連する問題