2016-04-07 16 views
-2

区切り文字として二重引用符 "\" "を使用して大きな文字列を分割しようとしています 何らかの理由でsplitメソッドが文字列内で二重引用符の存在を検出できないようです。コード:二重引用符と分割方法

public void stripToDialog() 
    { 
     String[] parsedContent = content.split("\"");//content has a very large String stored in it. 

     for(String e: parsedContent)//When I print each element out, I only get the original String stored in content. 
      System.out.println(e); 
    } 

だから何が起こっているの分割方法は、二重引用符を検出するように見えることはできませんどのように来る

例「\」hastaラのダミー文字列のための私の望ましい結果のために? vista baby \ " - Arnold S."は、{""、 "hasta la vista baby"、 " - Arnold S."}のような文字列の配列になります。

重要な場合は、FileReaderオブジェクトを使用してtxtファイルから元のStringを読み取ります。

+3

ポスト問題を再現する完全な最小限の例。私はそうしない:https://gist.github.com/jnizet/ac5e53d5971a4af436494b5cc52586d5。私の推測では、あなたの文字列には二重引用符は含まれていませんが、二重引用符を入力するときには多くのワードプロセッサに「スマート」「二重引用符」の二重引用符が含まれています。 –

+0

私のためにうまく動作します... –

+1

"" "これらの3文字は同じ文字ではありません。あなたのコンテンツにその1つがあるかもしれません。 –

答えて

0

私は他のポスターに同意します。あなたの引用はおそらくファンシーなUnicode引用符です。

私は、あなたの入力文字列を受け取り、すべての「派手な」引用符を通常のものに置き換えることがあると思います。

content.replaceAll("\\u0093", "\""); 
content.replaceAll("\\u0094", "\""); 

あなたが処理する必要があります他のものを引用符見るために、このページを見てみたいことがあります https://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html

関連する問題