「Java」StringTokenizerクラスでカンマやタブなどの文字列を分割するサンプル
説明
1.int java.util.StringTokenizer.countTokens()
分割できるトークンの個数を返します
2.boolean java.util.StringTokenizer.hasMoreTokens()
次のトークンがあるかどうかを返します
3.String java.util.StringTokenizer.nextToken()
次のトークンを返します
Javaコード
package com.arkgame.study;
import java.util.StringTokenizer;
public class TokenNextDemo {
//カンマ
private static final String KANMA = ",";
//アンダーバー
private static final String UNDER = "_";
//タブ
private static final String TAB = "\t";
public static void main(String[] args) {
String strA = "A01,B02,C03,D04";
String strB = "T01_T02_T03_T04_T05";
String strC = "A001\tB002\tC003\t";
StringTokenizer stKanMa = new StringTokenizer(strA, KANMA);
System.out.println("カンマ(,)の区切り、トークンの個数: " + stKanMa.countTokens());
while (stKanMa.hasMoreTokens()) {
System.out.println(stKanMa.nextToken());
}
StringTokenizer stUnder = new StringTokenizer(strB, UNDER);
System.out.println("アンダーバー(_)の区切り、トークンの個数: " + stUnder.countTokens());
while (stUnder.hasMoreTokens()) {
System.out.println(stUnder.nextToken());
}
StringTokenizer stTab = new StringTokenizer(strC, TAB);
System.out.println("タブ(\\t)の区切り、トークンの個数: " + stTab.countTokens());
while (stTab.hasMoreTokens()) {
System.out.println(stTab.nextToken());
}
}
}
package com.arkgame.study;
import java.util.StringTokenizer;
public class TokenNextDemo {
//カンマ
private static final String KANMA = ",";
//アンダーバー
private static final String UNDER = "_";
//タブ
private static final String TAB = "\t";
public static void main(String[] args) {
String strA = "A01,B02,C03,D04";
String strB = "T01_T02_T03_T04_T05";
String strC = "A001\tB002\tC003\t";
StringTokenizer stKanMa = new StringTokenizer(strA, KANMA);
System.out.println("カンマ(,)の区切り、トークンの個数: " + stKanMa.countTokens());
while (stKanMa.hasMoreTokens()) {
System.out.println(stKanMa.nextToken());
}
StringTokenizer stUnder = new StringTokenizer(strB, UNDER);
System.out.println("アンダーバー(_)の区切り、トークンの個数: " + stUnder.countTokens());
while (stUnder.hasMoreTokens()) {
System.out.println(stUnder.nextToken());
}
StringTokenizer stTab = new StringTokenizer(strC, TAB);
System.out.println("タブ(\\t)の区切り、トークンの個数: " + stTab.countTokens());
while (stTab.hasMoreTokens()) {
System.out.println(stTab.nextToken());
}
}
}
package com.arkgame.study; import java.util.StringTokenizer; public class TokenNextDemo { //カンマ private static final String KANMA = ","; //アンダーバー private static final String UNDER = "_"; //タブ private static final String TAB = "\t"; public static void main(String[] args) { String strA = "A01,B02,C03,D04"; String strB = "T01_T02_T03_T04_T05"; String strC = "A001\tB002\tC003\t"; StringTokenizer stKanMa = new StringTokenizer(strA, KANMA); System.out.println("カンマ(,)の区切り、トークンの個数: " + stKanMa.countTokens()); while (stKanMa.hasMoreTokens()) { System.out.println(stKanMa.nextToken()); } StringTokenizer stUnder = new StringTokenizer(strB, UNDER); System.out.println("アンダーバー(_)の区切り、トークンの個数: " + stUnder.countTokens()); while (stUnder.hasMoreTokens()) { System.out.println(stUnder.nextToken()); } StringTokenizer stTab = new StringTokenizer(strC, TAB); System.out.println("タブ(\\t)の区切り、トークンの個数: " + stTab.countTokens()); while (stTab.hasMoreTokens()) { System.out.println(stTab.nextToken()); } } }
実行結果
カンマ(,)の区切り、トークンの個数: 4
A01
B02
C03
D04
アンダーバー(_)の区切り、トークンの個数: 5
T01
T02
T03
T04
T05
タブ(\t)の区切り、トークンの個数: 3
A001
B002
C003