簡體   English   中英

如何從文件中選擇文本

[英]how to choose text from a file

我有一個文本文件,如:

“ GET /opacial/index.php?op=results&catalog=1&view=1&language=el&numhits=10&query= \\ xce \\ x95 \\ xce \\ xbb \\ xce \\ xbb \\ xce \\ xac \\ xce \\ xb4 \\ xce \\ xb1%20% 20 \\ xce \\ x95 \\ xce \\ xb8 \\ xce \\ xbd \\ xce \\ xb9 \\ xce \\ xba \\ xce \\ xad \\ xcf \\ x82%20 \\ xcf \\ x83 \\ xcf \\ x87 \\ xce \\ xad \\ xcf \\ x83 \\ xce \\ xb5 \\ xce \\ xb9 \\ xcf \\ x82%20
-%20 \\ xce \\ x99 \\ xcf \\ x83 \\ xcf \\ x84 \\ xce \\ xbf \\ xcf \\ x81 \\ xce \\ xaf \\ xce \\ xb1 &search_field = 11&page = 1

我想在單詞“ query”之后和“&search”之前剪切所有字符。 (上方為粗體)。 我正在嘗試使用模式來削減數據,但是出了點問題。.您能給我上面示例代碼的示例嗎?

編輯:另一個問題,除了上面的那個是匹配器僅用於charSequences,並且我有一個文件,不能將其強制轉換為charSequence ...:\\

像這樣的東西:

   String yourNewText=yourOldText.split("query")[1].split("&search")[0];

要查看如何將文件讀取為String ,可以在這里查看 (有不同的可能性)

".*query\\=(.*)\\&search_field.*"

這個正則表達式應該可以讓您捕獲要刪除的內容。 然后String.replace應該可以解決問題。

編輯-評論回應。 以下代碼...

    String s = "GET /opacial/index.php?op=results&catalog=1&view=1&language=el&numhits=10&query=\\xce\\x95\\xce\\xbb\\xce\\xbb\\xce\\xac\\xce\\xb4\\xce\\xb1%20--%20\\xce\\x95\\xce\\xb8\\xce\\xbd\\xce\\xb9\\xce\\xba\\xce\\xad\\xcf\\x82%20\\xcf\\x83\\xcf\\x87\\xce\\xad\\xcf\\x83\\xce\\xb5\\xce\\xb9\\xcf\\x82%20 --%20\\xce\\x99\\xcf\\x83\\xcf\\x84\\xce\\xbf\\xcf\\x81\\xce\\xaf\\xce\\xb1&search_field=11&page=1";
    Pattern p = Pattern.compile(".*query\\=(.*)\\&search_field.*");
    Matcher m = p.matcher(s);
    if (m.matches()){
        String betweenQueryAndSearch = m.group(1);
        System.out.println(betweenQueryAndSearch);
    }

產生以下輸出。

\xce\x95\xce\xbb\xce\xbb\xce\xac\xce\xb4\xce\xb1%20--%20\xce\x95\xce\xb8\xce\xbd\xce\xb9\xce\xba\xce\xad\xcf\x82%20\xcf\x83\xcf\x87\xce\xad\xcf\x83\xce\xb5\xce\xb9\xcf\x82%20 --%20\xce\x99\xcf\x83\xcf\x84\xce\xbf\xcf\x81\xce\xaf\xce\xb1

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM