![](/img/trans.png)
[英]How can I split a string into words in Java without using 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.