繁体   English   中英

Java:尝试拆分成“”,但不接受string.split(“””)…该怎么做?

[英]Java: Trying to split in “ , but string.split(”“”) is not accepted…how can this be done?

我在Java中有一些来自本体文件的字符串,它们的格式为: <owl:onProperty rdf:resource="http://www.co-ode.org/ontologies/pizza/pizza.owl#WHAT_WE_WANT"/>

我需要创建一个函数,该函数查找WHAT_WE_WANT中是否包含特定的字符串值,然后返回字符串WHAT_WE_WANT。

因此,我在“#”处拆分了ArrayList的每一行,然后在字符串的第二部分中搜索了String值。 现在我要做的就是摆脱“ />。我试图拆分为”符号,但是我不能这样做,因为当我写“”“时,编译器无法识别”是我需要的字符串符号。 有任何想法吗?

如果我的单词解释不是很好,这是我的代码:

   if (nextLine.matches(".*" + lookUp + ".*"  ))
    {String lala[]=nextLine.split("#");
    for(int i=0;i<lala.length;i++){
        if(lala[i].matches(".*"+lookUp+".*")){
            String[] temp=lala[i].split( """ ); //<--- doesn't work :/
            System.out.println(temp[0]);
            }
        }
    }

您需要转义双引号:

String[] temp = lala[i].split("\"");

我没有检查其余代码是否真正有效-特别是除非您尝试使用模式,否则我不会使用正则表达式只是为了查找子字符串-但这应该可以解决您的直接问题。

这将产生一个编译错误:

String[] temp=lala[i].split( """ );

因为字符串文字格式不正确。 如果要在有双引号字符的地方分割,则需要转义双引号。

String[] temp=lala[i].split( "\"" );

在字符串文字中,未转义的双引号表示“这是字符串的结尾”。 因此,编译器会认为您编写了一个空的String( "" ),后跟一个未终止的String常量( " );当到达行尾时,编译器会抱怨该字符串未终止... Java String文字不能跨越多行。


您尝试解码的内容是OWL ...,这意味着您可以(也许应该)使用OWL解析器,RDF解析器或XML解析器来解析它,而不是使用正则表达式等对其进行抨击。

您需要写下String[] temp=lala[i].split( "\\"" );

反斜杠是字符串中特殊字符的修饰符,例如“或\\本身。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM