replace - Reformatting a Java String -


मेरे पास ऐसी स्ट्रिंग है जो इस तरह दिखती है:

  CALDARI_STARSHIP_ENGINEERING   

दुर्भाग्य से सुबह में तीन और मैं जीवन के लिए नहीं कर सकता मुझे यह पता लगाना मुझे सामानों को तारों में बदलने में हमेशा परेशानी होती थी, इसलिए कोई भी मदद भयानक होगी और मुझे यह समझने में मदद मिलेगी कि यह भविष्य में कैसे करें।

ऐसा कुछ काफी सरल है:

  स्ट्रिंग टेक्स्ट = "CALDARI_STARSHIP_ENGINEERING"; पाठ = पाठ। स्थान ("_", ""); स्ट्रिंगबिल्ल्डर बाहर = नया स्ट्रिंगबिल्डर (); (स्ट्रिंग एस: टेक्स्ट एसप्लीट ("\\ b")) {if (! S.isEmpty ()) {out.append (s.sstring (0, 1) + s.substring (1) .toLowerCase () ); }} System.out.println ("[" + out.toString () + "]");  

यह भी देखें उल>

  • Matcher लूप समाधान

    यदि आप StringBuffer , आप Matcher.appendReplacement / Tail इस तरह से पाश का उपयोग कर सकते हैं:

      स्ट्रिंग पाठ = "CALDARI_STARSHIP_ENGINEERING"; पाठ = पाठ। स्थान ("_", ""); Matcher m = Pattern.compile ("(? & Lt; = \\ b \\ w) \\ w +")। मैटचर (टेक्स्ट); स्ट्रिंगबफर एसबी = नया स्ट्रिंगबफर (); जबकि (m.find ()) {m.appendReplacement (sb, m.group)। ToLowerCase ()); } M.appendTail (एसबी); System.out.println ("[" + sb.toString () + "]"); // प्रिंट "[कैलडारी स्टारशिप इंजीनियरिंग]"  

    एक शब्द के "पूंछ" भाग से मिलान करने के लिए regex का उपयोग करने का दावा करता है, जो भाग को कम किया जाना चाहिए यह देखने के लिए कि \ b शब्द शब्द \ w के बाद एक शब्द सीमा है (? & Lt; = ...) के पीछे दिखता है।

    संबंधित प्रश्न

      • जावा regex के लिए कोई शेष \ w + तो मिलान की आवश्यकता होगी पर्ल प्रीप्रोसेटिंग ऑपरेशन \ l \ u , \ l , और \ U का समर्थन नहीं करता है।
      • कोड> ऐप ऐपमेंट / टेल केवल स्ट्रिंगबफ़र
  • लेता है

    Comments