2016-05-01 21 views
-2

テキストファイルを読み込んで、ArrayListのデータをStringに置きます。私はちょうど、整数の最初の数字を見つけるために、整数として、これらの整数データを必要とする 文字列のArrayListから整数データのみを取り出す方法

China 12351235123 Korea 123532523 USA 12341235123 

よう

データがあります。私は最初の数字を見つける方法を知っていますが、私は整数データだけをどのように拾うことができるのか分かりません。

+2

これまでに試したことをお見せください。 – TDG

+0

StringのArrayListは整数を受け入れません。それはオブジェクトのArrayListかもしれません。それは...ですか ?または "中国12351235123"は単一の文字列ですか? –

+0

おそらく[This](http://stackoverflow.com/questions/1903252/extract-integer-part-in-string)助けることができます –

答えて

1

ArrayListStringとします。 replaceAll()

ArrayList<String> countrys = new ArrayList<String>(); 
countrys.add("China 12351235123"); 
countrys.add("Korea 123532523"); 
countrys.add("USA 12341235123"); 

for(String c:countrys){ 
    String number = c.replaceAll("[^0-9]", ""); 
    System.out.println(number); 
} 
+0

ありがとう!それは方法かもしれない! – Nakseung

+0

私はこれらの文字列データは必要ありませんが、最初の数字を見つけるために整数データが​​必要です。 – Nakseung

0

を数(0-9)ではない何かを取り出しますSLYが示唆したようにあなたは正規表現を使用することもできますし、あなたのリストの上に移動して、二つの部分にオブジェクトを分割することができます。「国」と用いた「数」:

for(String s : array){ 
    String[] parts = s.split(" "); 
    long number = Long.parseLong(parts[1]); 
    System.out.println(number); 
} 

:不変量は、各要素が区切り文字「空白」との二つの部分が含まれていることであり、第2の部分は番号です。

+0

私はこれらの文字列データは必要ありませんが、最初の数字を見つけるために整数データが​​必要です。 – Nakseung

0

あなたは正規表現を使用することができますし、数字が

例以下のコードでlong値のリストについては、そうそこに...整数の範囲にすることができないすべてのことに気をつけていることになります:

public static void main(String[] args) { 
    List<Long> longList = new ArrayList<Long>(); 
    Pattern pattern = Pattern.compile("\\w+([0-9]+)");// regex pattern 
    for (String string : listOfCountriesAndNumbers) { 
     Matcher matcher = pattern.matcher(string); 
     for (int i = 0; i < matcher.groupCount(); i++) { 
      matcher.find(); 
      longList.add(Long.parseLong(matcher.group())); 
     } 
    } 
    System.out.println(longList); 
} 
1

お試しください:

// Creation of ArrayList of string 
    ArrayList<String> obj = new ArrayList<String>(); 

    // arrayList of string 
    obj.add("China 12351235123"); 
    obj.add("Korea 123532523"); 
    obj.add("USA 12341235123"); 


    Iterator<String> iterator = obj.iterator(); 
    String str; 
    String[] split_str; 
    long value; 
    while (iterator.hasNext()) { 
     str = iterator.next().toString(); 
     split_str = str.split(" "); 
     String split_2 = split_str[1]; 
     value = Long.parseLong(split_2); 
     System.out.println(value); 
    } 
関連する問題