2013-03-09 24 views
5

मैं की तरह तार है के बाद सब कुछ निकालें:जावा, blankstring के साथ स्ट्रिंग संख्या की जगह और संख्या

Alian 12WE 

और

ANI1451 

वहाँ के बाद सभी नंबरों को बदलने के लिए किसी भी तरह से (और सब कुछ है संख्या) जावा में एक खाली स्ट्रिंग के साथ?

मैं उत्पादन इस तरह दिखना चाहते हैं: के बाद एक अंक पाया जाता है

Alian 

ANI 
+0

उपयोग का उपयोग 'substring (0, अनुक्रमणिका)' .. जावा और सबस्ट्रिंग विधि में regex का उपयोग करने के तरीके पर यह गूगल। कोडिंग का आनंद लें :) – asifsid88

उत्तर

7
एक regex के साथ

साथ "\\d.+$" की जगह, यह बहुत सरल है: नंबर के पहले सूचकांक खोज और उसके बाद करने के लिए नियमित अभिव्यक्ति

public class Test { 

    public static String replaceAll(String string) { 
     return string.replaceAll("\\d+.*", ""); 
    } 

    public static void main(String[] args) { 
     System.out.println(replaceAll("Alian 12WE")); 
     System.out.println(replaceAll("ANI1451")); 
    } 
} 
+0

उत्तर के लिए धन्यवाद! – user1966221

2

आप everyting दूर करने के लिए एक regex इस्तेमाल कर सकते हैं - जैसे कुछ:

String s = "Alian 12WE"; 
s = s.replaceAll("\\d+.*", ""); 
  • \\d+ एक पाता है या अधिक लगातार अंक
  • .* अंक
  • के बाद किसी भी वर्ण से मेल खाता है
1

उपयोग Regex

"Alian 12WE".split("\\d")[0] // Splits the string at numbers, get the first part. 

या ""

+0

पिछली जगहों को हटाने के लिए '.trim()' जोड़ें – asifsid88

+1

उदाहरण आउटपुट देखें: 'एलियन ' –

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