在Java中将字符串拆分为单词

时间:2012-02-22 11:01:20

标签: java

你能帮我解决一下这个字符串的拆分。我使用“|”作为特殊字符来标记分割是如何完成的

字符串是“ | | | | | | ”,因此在分割后我将'the','value','is'和'infinite'作为单独的字符串。谢谢。

8 个答案:

答案 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);
}

}