Donnez-vous simplement une chaîne contenant des numéros, tels que:
String s = "eert343dfg56756dtry66fggg89dfgf";
Alors, comment pouvons-nous extraire les chiffres? Il existe à peu près les méthodes suivantes, les expressions régulières, les classes de collecte et les méthodes fournies par les classes de chaînes.
1 méthodes fournies par la classe de chaînes:
Exercice de test de package; Importer java.util. *; classe publique get_stringNum {/ ** * 2016.10.25 * / public static void main (String [] args) {String str = "love23Next234csdn3423javaeye"; str = str.trim (); string str2 = ""; if (str! = null &&! ". i = 0; i <str.length (); i ++) {if (str.charat (i)> = 48 && str.charat (i) <= 57) {str2 + = str.charat (i);}}} System.out.println (str2);}} Sortie: 232343423Cette méthode a un désavantage évident, il ne peut extraire tous les nombres ensemble, mais pas séparément. Bien sûr, il peut également être amélioré. Les amis intéressés peuvent l'essayer.
2 expressions régulières
import java.util. *; import java.util.regex.matcher; import java.util.regex.pattern; classe publique get_stringnum {/ ** * 2016.10.25 * / public static void main (String [] args) {String a = "Love23Next234csdn3423javaeye"; String; regex = "[^ 0-9]"; Pattern p = motif.compile (regex); Matcher M = p.matcher (a); System.out.println (m.ReplaceAll (""). Trim ());}} Sortie: 232343423Pattern, Matcher est deux classes dans le progiciel Java.util.regex. Vous pouvez vérifier l'API pour une utilisation spécifique. De plus, les nombres ne peuvent pas être extraits individuellement.
3 bibliothèque de classe de collection
Importer java.util. *; import java.util.regex.matcher; import java.util.regex.pattern; classe publique get_stringnum {/ ** * 2016.10.25 * / public static void Main (String [] args) {string a = "love23Next234csdn3423javaeye"; list <cragit> divriSe = New ArrayList <string> (); modèle p = motif.compile ("[^ 0-9]"); Matcher m = p.matcher (a); string result = M.ReplaceAll (""); for (int i = 0; i <result.length (); i ++) {digitList.add (result.substring (i, i, I + 1));} System.out.println (DigitList);}} Sortie: [2, 3, 2, 3, 4, 3, 4, 2, 3] Même idée:
import java.util. *; import java.util.regex.matcher; import java.util.regex.pattern; classe publique get_stringnum {/ ** * 2016.10.25 * / public static void main (String [] args) {string a = "love23Next234csdn3423javaeye"; List <string> ss = new ArrayList <string> (); for (String sss: s.replaceAll ("[^ 0-9]", ","). Split (",")) {if (sss.length ()> 0) ss.add (ss); } System.out.print (SS); }} Sortie: [2, 3, 2, 3, 4, 3, 4, 2, 3]Il est évident que l'utilisation d'expressions régulières, nous pouvons extraire les nombres séparément.
Il y a aussi une réponse à trouver en recherchant les documents, comme suit:
/ ** * Obtenez le numéro du texte de chaîne * @ param Text * @ return * / publicstatic list <long> getDigit (String Text) {list <long> digitlist = new ArrayList <long> (); Pattern p = motif.compile ("(// d +)"); Matcher m = p.matcher (texte); while (m.find ()) {String find = m.group (1) .toString (); DigitList.Add (long.ValueOf (Find)); } return digitlist; }Les deux méthodes de jugement qui correspondent à l'aide d'expressions régulières sont les suivantes;
// Déterminez si toutes les chaînes sont des nombres publics booléen isdigit (String strnum) {return strnum.matches ("[0-9] {1,}"); } // Déterminez si toutes les chaînes sont des nombres publics booléen isdigit (String strnUm) {motif Pattern = Pattern.Compile ("[0-9] {1,}"); Matcher Matcher = Pattern.matcher ((CharSequence) strnum); return Matcher.matches (); } // Intercepter le nombre public String GetNumbers (String Content) {Pattern Pattern = Pattern.Compile ("// D +"); Matcher Matcher = Pattern.matcher (Contenu); while (Matcher.Find ()) {return Matcher.Group (0); } retour ""; } // intercepter la chaîne publique non number SplitNotNumber (contenu de chaîne) {motif Pattern = Pattern.Compile ("// d +"); Matcher Matcher = Pattern.matcher (Contenu); while (Matcher.Find ()) {return Matcher.Group (0); } retour ""; }Ce qui précède est l'intégralité du contenu de l'exemple simple des numéros d'extraction de Java des chaînes que vous avez apportées par l'éditeur. J'espère que tout le monde pourra soutenir Wulin.com plus ~