आक्रामक चरित्रों को हटाने का दृष्टिकोण संभावित रूप से समस्याग्रस्त है। क्या होगा अगर .स्ट्रिंग में कहीं और है? इसे हटाया नहीं जाएगा, हालांकि यह होना चाहिए!
गैर-अंकों या अवधियों को हटाने से, स्ट्रिंग joe.smith ($3,004.50)अप्राप्य में बदल जाएगी .3004.50।
इम्हो, एक विशिष्ट पैटर्न से मेल खाना बेहतर है, और एक समूह का उपयोग करके इसे निकालना है। कुछ सरल सभी प्रासंगिक अल्पविराम, अंक, और regexp के साथ अवधियों को खोजना होगा:
[\d,\.]+
नमूना परीक्षण रन:
Pattern understood as:
[\d,\.]+
Enter string to check if matches pattern
> a2.3 fjdfadfj34 34j3424 2,300 adsfa
Group 0 match: "2.3"
Group 0 match: "34"
Group 0 match: "34"
Group 0 match: "3424"
Group 0 match: "2,300"
फिर प्रत्येक मैच के लिए, सभी कॉमा को हटा दें और उस पार्सर को भेजें। जैसे कुछ के मामले को संभालने के लिए 12.323.344, आप यह देखने के लिए एक और जांच कर सकते हैं कि एक मिलान सबस्ट्रिंग में सबसे अधिक है .।
joe.smith ($3,004.50)? बस अपमानजनक चरित्र वर्गों को हटाने से काफी गलत हो सकता है।