2010-12-01 7 views
9

एक स्ट्रिंग शब्दों के बीच कई रिक्त स्थान है, तो:यदि आपके पास जावा में एक स्ट्रिंग के अंदर एकाधिक रिक्त स्थान हैं, तो आप उन्हें शब्दों के बीच एक ही स्थान में कैसे संयोजित करते हैं?

The cat   sat   on   the   mat. 

आप इसे कैसे एक जगह कर सकता हूँ?

The cat sat on the mat. 

मैं इस कोशिश की, लेकिन यह काम नहीं किया:

myText = myText.trim().replace(" ", " "); 

उत्तर

49

एक रेगुलर एक्सप्रेशन के साथ:

myText.trim().replaceAll("\\s+", " "); 

यह कहता है: "ट्रिम पाठ और फिर एक की सभी घटनाओं की जगह या एक से अधिक खाली स्थान के चरित्र एक ही खाली स्थान के "

भी देखें java.util.regex द्वारा (टैब, पंक्ति विराम, आदि सहित) जावा नियमित अभिव्यक्ति के बारे में अधिक जानकारी के लिए .Pattern:

http://download.oracle.com/javase/6/docs/api/java/util/regex/Pattern.html

+0

यह काम नहीं करता है। –

+1

@ अनशुल तियागी: मुझे इसे फिर से कोशिश करने दो ... - हाँ। यह वास्तव में कारगर है। –

+0

हाँ, यह काम करता है मैं 'सब' याद किया –

0

आप सभी की जरूरत है:

myText.replaceAll("\\s++", " "); 
वर्ग String की replaceAll विधि का चश्मा के लिए

Accordigng: http://docs.oracle.com/javase/7/docs/api/java/lang/String.html#replaceAll(java.lang.String,%20java.lang.String)

और Pattern वर्ग के चश्मा जावा में ("खाली स्थान के लिए" Ctrl-F करने की कोशिश, और "++"): http://docs.oracle.com/javase/7/docs/api/java/util/regex/Pattern.html

मेरी राय में उन पृष्ठों को खोलना और स्निपेट की प्रतिलिपि बनाने के लिए स्वयं को देखना बेहतर है।

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

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