英語と数字の組み合わせを分離し、その中の数字と英語を取り出します.

1477 ワード

import java.util.ArrayList;
import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class Test{
  public static void main(String[] args){
    String str = "234KB";
    // 
    List<String> list = new ArrayList<String>();
    // 
    String s = "\\d+.\\d|\\w+";
    Pattern pattern = Pattern.compile(s);
    Matcher ma = pattern.matcher(str);
    while(ma.find()){
    list.add(ma.group());
    }

  // 
  for(int i = 0;i < list.size();i++){
  if(i == 0){
     System.out.println(" : " + list.get(i));
  }else{
     System.out.println(" : " + list.get(i));
  }
}
}
}



2つ目の方法:
import java.util.ArrayList;
import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class ElTest{
  public static void main(String[] args){

    String str = "234KB";

    String s = "\\d+.\\d|\\w+"; // 
    Pattern pattern = Pattern.compile(s);
    Matcher ma = pattern.matcher(str);

    if(ma.find()){
        System.out.println(ma.group()); // 
        System.out.println(str.replace(ma.group(),"")); // 
    }
  }
}