你能帮我解决一下这个字符串的拆分。我使用“|”作为特殊字符来标记分割是如何完成的
字符串是“ | | | | | | ”,因此在分割后我将'the','value','is'和'infinite'作为单独的字符串。谢谢。
答案 0 :(得分:3)
String.split()适合你。
String str = "The|value|is|infinite";
String[] temp;
String delimiter = "\\|";
temp = str.split(delimiter);
for(int i = 0; i < temp.length; i++)
System.out.println(temp[i]);
答案 1 :(得分:2)
管道|
不能按原样包含在拆分语句中,您需要使用\\
转义它:
public static void main(String[] args) {
String s = "The|value|is|infinite";
String[] words = s.split("\\|");
for (String word : words) {
System.out.println(word);
}
}
参考:What is the proper way of inserting a pipe into a Java Pattern expression?
答案 2 :(得分:0)
split
示例描述了如何将Java String拆分为多个Java String。
String sentence = "The|value|is|infinite" ;
String[] words = sentence.split("|");
for (String word : words)
{
System.out.println(word);
}
答案 3 :(得分:0)
String str = "The|value|is|infinite";
for(String s : str.split("|"))
System.out.println(s);
您也可以使用StringTokenizer类(http://docs.oracle.com/javase/1.4.2/docs/api/java/util/StringTokenizer.html)
答案 4 :(得分:0)
utilt的Stringtokenizer类也可以帮助你,如下所示
String str = "The|value|is|infinite";
StringTokenizer st = new StringTokenizer(str,"|");
while(st.hasMoreTokens()){
System.out.println(st.nextToken());
}
答案 5 :(得分:0)
您需要在分割模式中转义垂直条
String str = "The|value|is|infinite";
for (String s : str.split("\\|"))
{
System.out.println(s);
}
答案 6 :(得分:0)
您也可以使用Scanner课程。
String input = "The|value|is|infinite";
Scanner output = new Scanner(input).useDelimiter("\\|");
while(output.hasNext()){
System.out.println(output.next());
}
答案 7 :(得分:0)
如果您愿意,请查看以下代码:
import java.util.ArrayList; import java.util.List;
public class SplitString {
public static List<String> split(String string, String delimiter) {
List<String> stringFragments = new ArrayList<String>();
for(String fragments : string.split(delimiter)) {
stringFragments.add(fragments);
}
return stringFragments;
}
public static void printFragments(List<String> stringFragments) {
for(String fragments : stringFragments) {
System.out.println(fragments);
}
}
public static void main(String[] args) {
List<String> stringFragments = new ArrayList<String>();
String string = "The|value|is|infinite";
String delimiter = "\\|";
stringFragments = split(string, delimiter);
printFragments(stringFragments);
}
}