-2

テキスト ファイルを読み取り、データをArrayListofに入れますString

データはこんな感じ

China 12351235123 Korea 123532523 USA 12341235123

整数の最初の桁を見つけるために、これらの整数データを整数として必要とするだけです。最初の桁を見つける方法は知っていますが、整数データのみを取得する方法がわかりません。

4

4 に答える 4

1

あなたArrayListのタイプはString. replaceAll()数字(0-9)以外のものを取り出します

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);
}
于 2016-05-01T08:56:11.933 に答える
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);
    }
于 2016-05-01T10:28:48.117 に答える
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);
}
于 2016-05-01T09:31:34.407 に答える