2011-12-01 8 views
13

मैं मल्टीबाइट सुरक्षित तरीके से स्ट्रिंग से विराम चिह्न, कॉमा, डैश इत्यादि जैसे अक्षरों को कैसे हटा सकता हूं?यूजीएफ 8 स्ट्रिंग्स से गैर अल्फान्यूमेरिक वर्णों को हटाने के लिए रेगेक्स

मैं कई अलग अलग भाषाओं से इनपुट के साथ काम किया जाएगा और अगर वहाँ कुछ है कि मेरे साथ इस

धन्यवाद

+0

आप केवल 'एक-z' रखने के लिए और करना चाहते हैं' 0-9'? या अलग-अलग भाषाओं के सभी विशेष पात्र भी हैं? – Marcus

+0

समझाते हुए कि मेरे परिणाम को बेहतर दृष्टिकोण में क्यों सुझाव दिया जा रहा है। –

+0

@ मार्कस। मुझे यूनिकोड वर्ण – Thomas

उत्तर

24

यूनिकोड चरित्र वर्ग thingys है कि आप उपयोग कर सकते हैं कर रहे हैं मदद कर सकते है मैं सोच रहा हूँ:

किसी भी गैर-अक्षर प्रतीकों से मेल खाने के लिए आप \PL+ का उपयोग कर सकते हैं, \p{L} की अस्वीकृति। रिक्त स्थान को हटाने के लिए, [^\pL\s]+ जैसे charclass का उपयोग करें। या वास्तव में \pP+

के साथ वास्तव में विराम चिह्न को हटाएं, और स्पष्ट रूप से regex /u संशोधक को न भूलें।

+0

रखने की आवश्यकता है, मुझे लगता है कि यह एक संभावित है। मुझे जांच करने की ज़रूरत है। धन्यवाद मारियो – Thomas

+2

[^ \ पीएल \ एस] + विजेता – Thomas

+0

पता नहीं था कि भागने अनुक्रम ब्रैकेट में काम करते हैं [] '। स्पेस कैरेक्टर (कोड पॉइंट) से मिलान करने के लिए धन्यवाद –

0

इसी पद

Remove non-utf8 characters from string

मुझे यकीन है कि अगर यह सभी वर्णों हालांकि शामिल किया गया है नहीं कर रहा हूँ।

वें dreamincode मंच

http://www.dreamincode.net/forums/topic/78179-regular-expression-to-remove-non-ascii-characters/

पर इस पोस्ट के अनुसार यह काम

/[^\x{21}-\x{7E}\s\t\n\r]/ 
+0

के बजाय \ pZ का उपयोग करें, मुझे लगता है कि यह केवल ASCII के लिए काम करता है, और लेखक स्पष्ट रूप से यूटीएफ 8 तारों का उल्लेख करता है। – Pateman

+0

यह ऐसा नहीं किया – Thomas

0

हो सकता है कि यह उपयोगी हो जाएगा चाहिए?

$newstring = preg_replace('/[^0-9a-zA-Z\s]/', $oldstring); 
+2

यह गैर ASCII वर्णों को भी हटा देगा। मैं यह नहीं चाहता कि यह – Thomas

1

मैं इस प्रयोग किया है:

$clean = preg_replace("/[^\p{L}|\p{N}]+/u", " ", $raw); 
$clean = preg_replace("/[\p{Z}]{2,}/u", " ", $clean); 
+0

क्या आप शायद वर्णन कर सकते हैं कि वास्तव में क्या हो रहा है? –

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

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