2013-06-13 8 views
9

कहा जाता है, मैं अपने स्वयं के कार्यों को लिखने के बजाय कुछ पूर्वनिर्धारित पुस्तकालयों का उपयोग करके किसी भी स्ट्रिंग को संशोधित ऊंट केस या शीर्षक केस में परिवर्तित करना चाहता हूं।जावा या शीर्षक केस में संशोधित ऊंट केस में स्ट्रिंग को कनवर्ट करें, अन्यथा

"Hi This Is Some Statement"

Regex या किसी भी मानक पुस्तकालय मुझे मदद मिलेगी के लिए उदाहरण "HI tHiS is SomE Statement" लिए

मुझे ग्रहण में कुछ लाइब्रेरी फ़ंक्शंस जैसे STRING.toCamelCase(); कोई ऐसी चीज मौजूद है?

+2

शायद आपका मतलब है [शीर्षक केस] (http://en.wikipedia.org/wiki/Sentence_case#Title_case)? "[ऊंट का मामला] (http://en.wikipedia.org/wiki/CamelCase)" आमतौर पर "HiThisIsSomeStatement" जैसी चीजों को संदर्भित करता है (शब्दों के बीच कोई delimiters)। –

+0

क्षमा करें मुझे शीर्षक के मामले के बारे में पता नहीं था। धन्यवाद टेड Hopp। मुझे शीर्षक केस – takrishna

उत्तर

11

मैं इस समस्या को हल करने के लिए नीचे का इस्तेमाल किया। ठीक ही उनका कहना है कि सवाल शीर्षक केस के बजाय संशोधित केमल मामला होना चाहिए के लिए टेड हॉप के लिए

import org.apache.commons.lang.StringUtils; 
StringUtils.capitalize(MyString); 

धन्यवाद।

ऊंट केस आमतौर पर शब्दों के बीच रिक्त स्थान के बिना होता है।

15

आप आसानी से ऐसा करने की विधि लिख सकते हैं:

public static String toCamelCase(final String init) { 
    if (init==null) 
     return null; 

    final StringBuilder ret = new StringBuilder(init.length()); 

    for (final String word : init.split(" ")) { 
     if (!word.isEmpty()) { 
      ret.append(word.substring(0, 1).toUpperCase()); 
      ret.append(word.substring(1).toLowerCase()); 
     } 
     if (!(ret.length()==init.length())) 
      ret.append(" "); 
    } 

    return ret.toString(); 
} 
+2

'word.substring (0, 1) के बजाय .toUpperCase()' आप 'Character.toUpperCase (word.charAt (0))' – fge

1

Refer:

static String toCamelCase(String s){ 
      String[] parts = s.split(" "); 
      String camelCaseString = ""; 
      for (String part : parts){ 
       if(part!=null && part.trim().length()>0) 
       camelCaseString = camelCaseString + toProperCase(part); 
       else 
        camelCaseString=camelCaseString+part+" "; 
      } 
      return camelCaseString; 
     } 

     static String toProperCase(String s) { 
      String temp=s.trim(); 
      String spaces=""; 
      if(temp.length()!=s.length()) 
      { 
      int startCharIndex=s.charAt(temp.indexOf(0)); 
      spaces=s.substring(0,startCharIndex); 
      } 
      temp=temp.substring(0, 1).toUpperCase() + 
      spaces+temp.substring(1).toLowerCase()+" "; 
      return temp; 

     } 
    public static void main(String[] args) { 
    String string="HI tHiS is SomE Statement"; 
    System.out.println(toCamelCase(string)); 
    } 
+0

कर सकते हैं यह कोड 'स्ट्रिंग इंडेक्सऑटऑफबाउंड एक्सेप्शन' फेंकता है यदि लगातार दो होते हैं 'स्ट्रिंग' में सफेद-रिक्त स्थान (या यदि 'स्ट्रिंग' खाली है)। यदि 'स्ट्रिंग' शून्य है तो यह' NullPointerException' फेंकता है। –

+0

@FlorentBayle oh अद्यतन उत्तर देखें !! – NFE

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