Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/400.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 字符串。用分号拆分_Java_String_Split - Fatal编程技术网

Java 字符串。用分号拆分

Java 字符串。用分号拆分,java,string,split,Java,String,Split,我想用分号(“;”)拆分字符串: 但它从字符串中删除“;”并将所有字符串置于“datesplit”中 因此,输出为: dateSplit[0]:‫ dateSplit[1]:‪14/May/2015‬‬ ‫‪FC‬‬ ‫‪Barcelona‬‬ ‫‪VS.‬‬ ‫‪Real‬‬ ‫‪Madrid` 在做什么 System.out.println("Real String :"+phrase); 字符串打印是 Real String :‫;‪14/May/2015‬‬ ‫‪FC‬‬ ‫‪Ba

我想用分号(“;”)拆分字符串:

但它从字符串中删除“;”并将所有字符串置于“datesplit”中 因此,输出为:

dateSplit[0]:‫
dateSplit[1]:‪14/May/2015‬‬ ‫‪FC‬‬ ‫‪Barcelona‬‬ ‫‪VS.‬‬ ‫‪Real‬‬ ‫‪Madrid`

在做什么

System.out.println("Real String :"+phrase);
字符串打印是

Real String :‫;‪14/May/2015‬‬ ‫‪FC‬‬ ‫‪Barcelona‬‬ ‫‪VS.‬‬ ‫‪Real‬‬ ‫‪Madrid

重写了你的代码,而不是从这里开始处理,它工作得非常好

public static void main(String[] args) {
    String phrase = "14/May/2015; FC Barcelona VS. Real Madrid";
    String[] dateSplit = phrase.split(";");
    System.out.println("dateSplit[0]:" + dateSplit[0]);
    System.out.println("dateSplit[1]:" + dateSplit[1]);
}

将代码剪切粘贴到IntelliJ中,使编辑器出错;正如@Palcente所说,可能存在编码问题

但是,我建议使用StringTokenizer

StringTokenizer sTok = new StringTokenizer(phrase, ";");

然后,您可以对其进行迭代,从而生成更好(更安全)的代码。

短语包含like。这就是为什么有些编辑器无法正确显示字符串


这段代码显示了
字符串
中的实际字符(对于某些人来说,
短语
在这里不会以正确的方式显示,但它可以编译,并且在Eclipse中看起来很好)。我只是用->从左到右翻译从右到左翻译你的“短语”变量格式不正确。向我们展示实际的代码,我们可能会提供帮助。我在这里嗅到可能的编码问题。@s_puria不可能,这甚至不会编译。当我在我的系统上复制你的代码时,它被复制成这样
‪字符串短语=“;2015年5月14日‬ ‫‪常设费用‬‬ ‫‪巴塞罗那‬‬ ‫‪VS。‬‬ ‫‪真实的‬‬ ‫‪马德里”
在UTF-8中,该字符串如下所示:
“?;?2015年5月14日??巴塞罗那队对??皇家马德里队”
这不是OP POSTED字符串。字符串中有一些隐藏字符,OPposted@Palcente,哦,我明白了,我以为OP是在尝试这个问题中可见的文本。@s_puria,这是你想要的吗?或者有一些隐藏字符?有一些隐藏字符。你说:“但是,我建议使用StringTokenizer。然后你可以对它进行迭代,从而生成更好(更安全)的代码。”“StringTokenizer是一个遗留类,出于兼容性原因保留它,尽管新代码中不鼓励使用它。建议任何寻求此功能的人使用String的split方法或java.util.regex包。”。java新手应该怎么想P@Tom嗯,我没有注意到这一点,可能是因为它没有被注释为不推荐的(而且,我不记得我上次实际使用StringTokenizer是什么时候了)。很高兴知道。
StringTokenizer sTok = new StringTokenizer(phrase, ";");
public static void main(String[]args) {
    String phrase = "‫;‪14/May/2015‬‬ ‫‪FC‬‬ ‫‪Barcelona‬‬ ‫‪VS.‬‬ ‫‪Real‬‬ ‫‪Madrid";
    String[] dateSplit = phrase.split(";");
    for (String d : dateSplit) {
        System.out.println(d);
    }
    char[] c = phrase.toCharArray();
    StringBuilder p = new StringBuilder();
    for (int i = 0; i < c.length;i++) {
        int code = Character.codePointAt(c, i);
        switch (code) {
        case 8234:
            p.append(" -> ");
            break;
        case 8235:
            p.append(" <- ");
            break;
        case 8236:
            p.append(" ^ ");
            break;
        default:
            p.append(c[i]);
        }
    }
    System.out.println(p.toString());
}