Split/Tokenize/Split 字符串覆盖从 ArrayList 返回的字符串集
Split/Tokenize/Split string over set of strings returned from ArrayList
我正在获取从 ArrayList 返回的一组字符串。
这就是我在遍历 ArrayList 时获取字符串的方式。
Welcome|
To|
Whosebug|
;
Welcome|
To|
Zootopia|
;
This|
is|
last - String|
;
我想根据“;”标记字符串像这样,
这是我所做的:
for(String str: arrayList) {
//System.out.println(str);
if(str.contains(";")) {
StringTokenizer st = new StringTokenizer(str,";");
while(st.hasMoreTokens()) {
System.out.println(st.nextToken());
}
}
}
这就是我的期望:
Welcome|To|Whosebug- one token
Welcome|To|Zootopia - one token
This|is|last-String|- one token
(因为让我们先取这个字符串:Welcome|To|Whosebug
- 然后我想进一步将它拆分为 '|' - 这样我就可以获得单独的标记)
之后我想解析这个'|'特点。有没有更好的方法来做到这一点?
StringTokenizer
is a legacy class that is retained for compatibility reasons although its use is discouraged in new code. It is recommended that anyone seeking this functionality use the split method of String or the java.util.regex package instead.
class Tokenizer {
//for Java older than 8
public static String joinString(Iterable<String> strings, String separator) {
StringBuilder sb = new StringBuilder();
String sep = "";
for(String s: strings) {
sb.append(sep).append(s);
sep = separator;
}
return sb.toString();
}
public static void main(String args[]) {
ArrayList<String> strings = new ArrayList<String>() {{
add("Welcome|");
add("To|");
add("Whosebug|");
add(";");
add("Welcome|");
add("To|");
add("Zootopia|");
add(";");
add("This|");
add("is|");
add("last - String|");
add(";");
}};
//String in = String.join("", strings);
String in = joinString(strings, "");
for(String outerToken : in.split(";")) {
System.out.println(outerToken);
for(String innerToken : outerToken.split("\|")) {
System.out.println("\t" + innerToken);
}
}
}
}
我正在获取从 ArrayList 返回的一组字符串。
这就是我在遍历 ArrayList 时获取字符串的方式。
Welcome|
To|
Whosebug|
;
Welcome|
To|
Zootopia|
;
This|
is|
last - String|
;
我想根据“;”标记字符串像这样,
这是我所做的:
for(String str: arrayList) {
//System.out.println(str);
if(str.contains(";")) {
StringTokenizer st = new StringTokenizer(str,";");
while(st.hasMoreTokens()) {
System.out.println(st.nextToken());
}
}
}
这就是我的期望:
Welcome|To|Whosebug- one token
Welcome|To|Zootopia - one token
This|is|last-String|- one token
(因为让我们先取这个字符串:Welcome|To|Whosebug
- 然后我想进一步将它拆分为 '|' - 这样我就可以获得单独的标记)
之后我想解析这个'|'特点。有没有更好的方法来做到这一点?
StringTokenizer
is a legacy class that is retained for compatibility reasons although its use is discouraged in new code. It is recommended that anyone seeking this functionality use the split method of String or the java.util.regex package instead.
class Tokenizer {
//for Java older than 8
public static String joinString(Iterable<String> strings, String separator) {
StringBuilder sb = new StringBuilder();
String sep = "";
for(String s: strings) {
sb.append(sep).append(s);
sep = separator;
}
return sb.toString();
}
public static void main(String args[]) {
ArrayList<String> strings = new ArrayList<String>() {{
add("Welcome|");
add("To|");
add("Whosebug|");
add(";");
add("Welcome|");
add("To|");
add("Zootopia|");
add(";");
add("This|");
add("is|");
add("last - String|");
add(";");
}};
//String in = String.join("", strings);
String in = joinString(strings, "");
for(String outerToken : in.split(";")) {
System.out.println(outerToken);
for(String innerToken : outerToken.split("\|")) {
System.out.println("\t" + innerToken);
}
}
}
}