/ / कैसे पता लगाने के लिए कि क्या किसी स्ट्रिंग में शुरुआत में स्कैला फंक या रेगेक्स का उपयोग करने वाले अक्षर हैं? - रेगेक्स, स्कैला

स्काला funcs या regex का उपयोग कर शुरुआत में एक स्ट्रिंग अक्षर क्या पता लगाने के लिए? - रेगेक्स, स्कैला

मेरे पास एक स्ट्रिंग संख्या है जिसमें संख्या की शुरुआत में 2 या अधिक वर्ण नहीं हो सकते हैं, और शायद कुछ वर्ण हैं जो अक्षर या संख्या नहीं हैं।

यदि शुरुआत में इसके दो या अधिक हैं तो पहले 2 को हटा दें और अक्षर या संख्या की तुलना में दूसरों से स्ट्रिंग को साफ करें।

मैं यह पता लगाना चाहता हूं कि या तो स्कैला फंक या रेगेक्स का उपयोग कर रहा है और इस स्ट्रिंग को साफ करता है।

उदाहरण:

"ABC12345" (कार्य के बाद) => "C12345"

"AB12345" (कार्य के बाद) => "12345"

"A12345" (फंक्शन के बाद) => "A12345"

"ABC1 23 +.4 5" (फंक्शन के बाद) => "C12345"

उत्तर:

उत्तर № 1 के लिए 1

रेगेक्स मिलान वाले पात्र जिन्हें आप हटाना चाहते हैं:

^[A-Z]{2}|[^A-Z0-9]

यह या तो स्ट्रिंग की शुरुआत में दो अक्षरों से मेल खाता है या इसके अलावा कुछ भी [A-Z0-9].

स्काला में उपयोग:

scala> val regex = """^[A-Z]{2}|[^A-Z0-9]""".r
regex: scala.util.matching.Regex = ^[A-Z]{2}|[^A-Z0-9]

scala> val ss = List("ABC12345", "A12345", "ABC1 23 +.4 5")
ss: List[String] = List(ABC12345, A12345, ABC1 23 +.4 5)

scala> ss.map(s => regex.replaceAllIn(s, ""))
res0: List[String] = List(C12345, A12345, C12345)