StringBuffer क्लास का उपयोग करके
StringBuffer का उपयोग करके स्ट्रिंग में प्रत्येक कैपिटल लेटर से पहले अंडरस्कोर जोड़ने के लिए:
एक खाली StringBuffer ऑब्जेक्ट बनाएं।
Character क्लास की isUpperCase() विधि एक कैरेक्टर स्वीकार करती है और वेरिफाई करती है कि यह अपर केस में है या नहीं, यदि हां, तो यह विधि true लौटाती है। इस विधि का उपयोग करके स्ट्रिंग में प्रत्येक कैरेक्टर को वेरिफाई करें।
अपर केस लेटर के मामले में append() विधि का उपयोग करके इसके पहले अंडरस्कोर जोड़ें।
उदाहरण
public class Adding_BeforeCapital {
public static void main(String args[]) {
String str = "HelloHowAreYouWelcome";
StringBuffer sb = new StringBuffer();
for (int i = 0; i < str.length(); i++) {
if (Character.isUpperCase(str.charAt(i))) {
sb.append("_");
sb.append(str.charAt(i));
} else {
sb.append(str.charAt(i));
}
}
String result = sb.toString();
System.out.println(result);
}
}
आउटपुट
_Hello_How_Are_You_Welcome
रेगुलर एक्सप्रेशन का उपयोग करके
String क्लास की replaceAll() विधि एक रेगुलर एक्सप्रेशन और एक रिप्लेसमेंट स्ट्रिंग को दर्शाने वाली दो स्ट्रिंग्स स्वीकार करती है और मैच्ड वैल्यूज़ को दी गई स्ट्रिंग से बदल देती है।
उदाहरण
public class Adding_BeforeCapital {
public static void main(String args[]) {
String str = "HelloHowAreYouWelcome";
String result = str.replaceAll("()([A-Z])", "$1_$2");
System.out.println(result);
}
}
आउटपुट
_Hello_How_Are_You_Welcome