2011-08-10 7 views
9

कैसे मैं replace(char, char) का उपयोग चरित्र "बी" कुछ भी नहीं के साथ के सभी उदाहरणों को बदलने के लिए कर के साथ ख चरित्र के सभी उदाहरणों को बदलने के लिए।कैसे की जगह (चार, चार) का उपयोग करने के लिए कुछ भी नहीं

उदाहरण के लिए:

Hambbburger to Hamurger 

संपादित करें: की कोई समस्या, मैं केवल 1.4.2 का उपयोग कर सकते, की जगह का कोई अतिभारित संस्करण अर्थ नहीं है!

+2

आप 'कुछ भी नहीं' नहीं कर सकते हैं! आप 'प्रतिस्थापन (स्ट्रिंग, स्ट्रिंग)' का उपयोग क्यों नहीं कर सकते? की –

+0

संभव डुप्लिकेट [जावा: स्ट्रिंग से चार की सभी आवृत्तियां हटाने] (http://stackoverflow.com/questions/4576352/java-remove-all-occurances-of-char-from-string) – dogbane

+0

हाय dogbane, वह यह है कि जावा 5 और ऊपर के लिए, जो 1.4.2 के लिए एक अधिभारित संस्करण उपलब्ध नहीं होगा। –

उत्तर

15

वहाँ भी है एक replaceAll समारोह तार का उपयोग करता है, फिर भी ध्यान दें कि यह उनके regexes के रूप में evals, लेकिन एक भी जगह के लिए चार ठीक काम करेगा।

String meal = "Hambbburger"; 

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

ध्यान दें कि replaced चर के लिए आवश्यक है के बाद से replaceAll जगह में स्ट्रिंग परिवर्तित नहीं होता, प्रतिस्थापन के साथ एक नया (String जावा में अपरिवर्तनीय है) बनाता है:

यहाँ एक उदाहरण है।

चरित्र आप बदलना चाहते एक regex में एक अलग अर्थ है (उदाहरण के लिए . चार किसी भी चार, नहीं एक बिंदु का मिलान करेंगे) आप quote को इस तरह पहले पैरामीटर की आवश्यकता होगी:

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", ""); 

आप replaceAll की जरूरत नहीं है आप जावा 6. का उपयोग करता है, तो यहाँ देखें: replace

+1

I __knew__ वहां 'प्रतिस्थापन' ओवरलोड था! –

3

इस कोड की कोशिश ....

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 खाना चाहता हूँ। --------- प्रतिस्थापन के बाद ----- हमबर्गर मैं हम्बर्गर खाना चाहता हूं।

स्ट्रिंग में
-1

replaceAll की जगह)

पूर्व उपयोग करने के लिए (ठीक से काम doesnot यह की हमेशा सिफारिश: -

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

हे, एसओ में आपका स्वागत है। प्रतिस्थापित करें ठीक है, यह सुनिश्चित नहीं है कि आप कहां से इसे प्राप्त कर रहे हैं - क्या आपके पास एक विशिष्ट छोटी गाड़ी है? इसके अलावा आप इस सवाल का जवाब नहीं देते - ओपी * एक चरित्र * को हटाना चाहता है, जबकि प्रतिस्थापन (char, char) के साथ ऐसा करने का कोई तरीका नहीं है। – pete23

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

'\0' ASCII कोड में कुछ भी नहीं प्रतिनिधित्व करता है।

+0

@ टॉम यह हैमबर्गर प्रिंट करता है। – Andrew

+1

फिर आपका कंसोल इसे मेरे से अलग प्रिंट करता है, क्योंकि मेरा कंसोल स्पष्ट रूप से '\ 0' वर्ण दिखाता है (इसे यहां दिखाया नहीं जा सकता है, क्योंकि SO उन्हें हटा देता है)। तो यह समाधान सिस्टम पर निर्भर करता है जहां यह चलाया जाएगा। अजीब। – Tom

संबंधित मुद्दे