こんばんわ。 Javaで文字列を分割というテーマになると
CSVファイルなんかをカンマで分割するメソッドってよくありますが…
カンマの数をチェックしてから分割。。。ってやるとこうなるかな??
charAtメソッドでやって文字列の長さ分グルグルまわしてカンマの
数を数えてるだけですが…
CSVファイルなんかをカンマで分割するメソッドってよくありますが…
カンマの数をチェックしてから分割。。。ってやるとこうなるかな??
charAtメソッドでやって文字列の長さ分グルグルまわしてカンマの
数を数えてるだけですが…
/** * */ package stringUtils; import java.util.ArrayList; /** * @author zonbie_ex * */ public class StringChecker { /** * @param args */ public static void main(String[] args) { // TODO 自動生成されたメソッド・スタブ int count = 0; String address = "ぞんび,ねこ,にゃんこ,大好き,ニャー"; for(int i = 0 ; i < address.length() ; i++){ if(address.charAt(i) == ','){ count++; } } if(count != 4){ System.out.println("だめじゃん"); }else{ String sTbl[] = splitLines(address,","); for(int j = 0 ; j < sTbl.length ; j++){ System.out.println("<<" +sTbl[j] +">>"); } } } public static String[] splitLines(String str,String delim){ ArrayList delimitedList = new ArrayList(); int startPoint = 0; int point = str.indexOf(delim); //カンマのなくなるところまでルーピングnow!! for(int i = 0 ; point >= 0; i++){ delimitedList.add(str.substring(startPoint, point) ); startPoint = point + 1; point = str.indexOf(delim, startPoint); } delimitedList.add(str.substring(startPoint)); return (String[])delimitedList.toArray(new String [delimitedList.size()]); } }