मेरे पास एक स्ट्रिंग संख्या है जिसमें संख्या की शुरुआत में 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)