2016-08-19 12 views
0

文字列から数値を抽出します。Javaの文字列値から数値値を取り出します

例えば、数は10またはそれから10以上のCOL3にcol2の他にそれを保存している場合

Col1   Col2   Col3 
abc def 9856412368 
abc  9812345678 
abc  9812345678 
abc def      256789 
abc       4567 

abc9856412368def    
9812345678abc   
abc9812345678  
abc256789def  
4567abc  

私はこの(3つの列で)のような出力をしたい:私はこのような値を持っています。私はREGEXPを使用しようとしましたが、mysqlのworkbenchで数字を抽出しません。しかし、それはゼロの行を返しました。

select first_name 
from mytable 
where First_Name regexp '^[0-9]+$' and First_Name!="" 

私はそれをjavaを使用して見つけると考えています。結果セットに格納します。私はまた、列2に携帯電話番号を挿入する必要があることを確認したいと思います。

答えて

1

私はJava Regexでもやってみるべきだと思います。

// Extract numbers from String 
Pattern p1 = Pattern.compile("-?\\d+"); 
// Extract words from String 
Pattern p2 = Pattern.compile("-?\\D+"); 

Matcher m1 = p1.matcher("abc9856412368def"); 
Matcher m2 = p2.matcher("abc9856412368def"); 
while (m1.find()) { 
    System.out.println(m.group()); // Prints 9856412368 
} 
while (m2.find()) { 
    System.out.println(m.group()); // Prints abc and def 
} 

出力をフォーマットするだけで済みます。

+0

ありがとうございます。私は巨大なデータを持っています。文字列内の数字はどこでもかまいません。文字列全体からこのような数値を取得する必要があります。それらを別の列に挿入します。 –

関連する問題