2011-12-31 14 views
13

मैं एक से अधिक सफेद स्थान को हटाने के लिए शक्तियों में एक रास्ता खोजने की कोशिश कर रहा था।शक्तियों में एक से अधिक सफेद स्थान को हटाने

लेकिन मुझे जो मिला वह यह है कि PHP में इसे कैसे किया जाए। "Removing more than one white-space"

वहाँ समान नियमित अभिव्यक्ति हो सकता है उपलब्ध हो जाएगा।

शक्तियों में इसे कैसे प्राप्त किया जाए?

मेरे स्ट्रिंग कुछ पंक्तियों में स्रोत और गंतव्य के बीच एक से अधिक सफेद स्थान हो सकती है इस

Xcopy Source Desination 

की तरह है।

उत्तर

42

आप एक ही अंतरिक्ष में कई लगातार खाली स्थान के पात्रों को संक्षिप्त करने के लिए देख रहे हैं तो आप -replace ऑपरेटर का उपयोग कर सकते हैं:

'[  Hello,  World!  ]' -replace '\s+', ' ' 

... रिटर्न ...

[ Hello, World! ] 

-replace पर पहला पैरामीटर मिलान करने के लिए regular expression पैटर्न है, और दूसरा पैरामीटर वह पाठ है जो किसी भी मैचों को प्रतिस्थापित करेगा। \s एक व्हाइटस्पेस चरित्र से मेल खाता है, और + एक या अधिक घटनाओं से मेल खाने के लिए इंगित करता है, इसलिए, दूसरे शब्दों में, एक या अधिक आसन्न व्हाइटस्पेस वर्णों को एक ही स्थान से बदल दिया जाएगा। अधिक जानकारी के लिए help about_comparison_operators दर्ज करें या here देखें।

+0

धन्यवाद श्री बेकन। यह मेरे लिए नौकरी करता है। – Samselvaprabu

+0

ट्रिम(), ट्रिमस्टार्ट(), और/या ट्रिमइंड() का उपयोग करना एक स्पष्ट रूप से बेहतर विकल्प है। –

+14

सबसे पहले, मेरा जवाब एक कामकाजी, वैकल्पिक समाधान है, इसलिए मुझे नहीं लगता कि यह एक डाउनवोट का हकदार क्यों है। दूसरा, ट्रिम *() विधियां विशेष रूप से शुरुआत और/या स्ट्रिंग के अंत में संचालित होती हैं, जबकि लेखक ने एक स्ट्रिंग का एक उदाहरण दिया जहां रिक्त स्थान को निकालने के लिए एक स्ट्रिंग के बीच में होता है, जो ट्रिम *() होगा नज़रअंदाज़ करना। – BACON

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