次のような番号を含む文字列を与えるだけです。
string s = "eert343dfg56756dtry66fgggg89dfgf";
では、数字をどのように抽出しますか?ほぼ次の方法、正規表現、コレクションクラス、および文字列クラスによって提供される方法があります。
文字列クラスによって提供される1つの方法:
パッケージテストの演習; java.util。*; public class get_stringnum {/***2016.10.25*/public static void main(string [] args){string str = "love23next234csdn3423javaeye"; ! ""。equals(str)){for(int i = 0; i <str.length(); i ++){if(str.charat(i)> = 48 && str.charat(i)<= 57){str2+= str.charat(i);}}} system.out.outln(str2);} output:}}}}}}}この方法には明らかな欠点があり、すべての数値を一緒に抽出することができますが、個別には抽出できません。もちろん、改善することもできます。興味のある友達はそれを試すことができます。
2つの正規表現
Import java.util。*; import java.util.regex.matcher; import java.util.regex.pattern; public class get_stringnum {/***2016.10.25*/public static void main(string [] args){love23next234csdn3423javaeye "; regex = "[^0-9]";パターンP = pattern.compile(regex); Matcher M = P.Matcher(a); System.out.println(m.replaceall( "")。trim());}}出力:232343423パターン、マッチャーは、java.util.regexソフトウェアパッケージの2つのクラスです。特定の使用についてAPIを確認できます。また、数値を個別に抽出することはできません。
3コレクションクラスライブラリ
java.util。*;インポートJava.util.regex.matcher; Import java.util.regex.pattern; public class get_stringnum {/***2016.10.25*/public static void main(string [] args){string a = "love23next234csdn3423javae" ArrayList <String>();パターンP = pattern.compile( "[^0-9]"); matcher m = p.matcher(a); string result = m.replaceall( ""); i+1));} system.out.println(digitlist);}}出力:[2、3、2、3、4、3、4、2、3]同じアイデア:
Import java.util。*; Import java.util.regex.matcher; import java.util.regex.pattern; public class get_stringnum {/***2016.10.25*/public static void main(string [] args){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); }}出力:[2、3、2、3、4、3、4、2、3]正規表現を使用すると、数値を個別に抽出できることは明らかです。
次のように、ドキュメントを調べることで見つけるための答えもあります。
/ ** *文字列テキストから番号を取得 *@param text *@return */ publicstatic list <long> getDigit(string text){list <long> digitlist = new ArrayList <long>();パターンP = pattern.compile( "(// d+)"); Matcher M = P.Matcher(テキスト); while(m.find()){string find = m.group(1).toString(); digitlist.add(long.valueof(find)); } digitlistを返します。 }正規表現を使用して一致する2つの判断方法は次のとおりです。
//すべての文字列が数字であるかどうかを決定しますpublic boolean isdigit(string strnum){return strnum.matches( "[0-9] {1、}"); } //すべての文字列が数字であるかどうかを決定しますpublic boolean isdigit(string strnum){pattern pattern = pattern.compile( "[0-9] {1、}"); matcher matcher = pattern.matcher(((char sequence)strnum); return matcher.matches(); } //番号をインターセプトしますpublic string getNumbers(string content){pattern pattern = pattern.compile( "// d+"); matcher matcher = pattern.matcher(content); while(matcher.find()){return matcher.group(0); } 戻る ""; } //非番号のパブリック文字列splitnotnumber(string content){pattern pattern = pattern.compile( "// d+"); matcher matcher = pattern.matcher(content); while(matcher.find()){return matcher.group(0); } 戻る ""; }上記は、Javaが編集者によってもたらされた文字列から数字を抽出する簡単な例の内容全体です。誰もがwulin.comをもっとサポートできることを願っています〜