簡體   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