मैं preg_replace()
और एक रेगेक्स जैसे PHP विधि का उपयोग करके पूंजी अक्षरों पर एक स्ट्रिंग में एक स्थान जोड़ना चाहता हूं, लेकिन मैं केवल पहले पूंजी अक्षर पर एक स्थान जोड़ना चाहता हूं जब वे निरंतर हों। मैं रेगेक्स को यह भी जानना चाहूंगा कि राजधानियों की एक सतत स्ट्रिंग में आखिरी पूंजी पहले एक जगह लगाने के लिए अगली पूंजी होनी चाहिए।मैं कैपिटल अक्षरों में स्ट्रिंग में एक स्पेस कैसे जोड़ सकता हूं, लेकिन PHP और रेगेक्स का उपयोग करके निरंतर राजधानियों को एक साथ रख सकता हूं?
TodayILiveInTheUSAWithSimon USAToday IAmSOOOBored
बन:
Today I Live In The USA With Simon USA Today I Am SOOO Bored
इस किया जा सकता है, और कैसे
ये स्ट्रिंग उदाहरण हैं?
यह प्रश्न (Regular expression, split string by capital letter but ignore TLA), यह .NET के साथ पूरा करने के लिए प्रतीत होता है।
$string = 'TodayILiveInTheUSAWithSimon';
$regex = '/(?<!^)((?<![[:upper:]])[[:upper:]]|[[:upper:]](?![[:upper:]]))/';
$string = preg_replace($regex, ' $1', $string);
इन regex के काम के दोनों: @ Regexident के समाधान से
/(?<!^)((?<![[:upper:]])[[:upper:]]|[[:upper:]](?![[:upper:]]))/
/((?<=[a-z])(?=[A-Z])|(?=[A-Z][a-z]))/
पहले एक है
श्रमजीवी समाधान
यहाँ पूरा कोड है कि मैं का उपयोग करें नीचे, और दूसरे की तुलना में बहुत तेज है।
इस रेगेक्स के साथ इसे पूरा करने के लिए मुझे किस PHP तरीकों का उपयोग करना चाहिए? –
@ टी। ब्रायन जोन्स: वह [preg_replace] होगा (http://php.net/manual/en/function.preg-replace.php)। – Regexident
मुझे निम्न त्रुटि मिल रही है: 'preg_replace(): संकलन विफल: क्लास नामित POSIX केवल ऑफसेट 4' पर एक वर्ग के भीतर समर्थित है जब मैं इसे निष्पादित करता हूं:' echo preg_replace ('((?