2017-11-20 3 views
0

Lexic Analizer enter image description hereスペースなし「)(」、私は別のカントlexicアナライザ用の単語または記号でテキストの単語を分割する必要が

問題がある:私は言葉を分割しようと

コードで:

String[] palabras = textoLexema.getText().split("\\b|\\s+"); 

(間にスペースなし)これは画像のように分離されます、それは一緒になってsepareteシンボルをdoesntの。誰も私が私が単語「から配列を作成することによって、それを固定に助けをそれらのシンボルまたはスペースなし

+0

サンプルの文字列はありますか?入力/予想出力を投稿してください – ctwheels

+0

splitメソッドを使用しないでください: '\ w + | [^ \ s \ w]' –

+0

で分割してみてください。split( "\\ W" –

答えて

0

やあみんなのおかげでそれらを分離することができます正規表現を考え出す助けることができるかどう

私は{)思っていました"その後、私はシンボルでシンボルを分割し、彼らが何であるかを再評価しました。

if (palabraSinEspacios.matches("[{|}|\\[|\\]|\\(|\\)|\\;]+")) { 
      //Separa delimitadores si vienen pegados segunda evaluacion 
      String[] palabraSeparada = palabras[i].split("\\s*"); 
      for (int j = 0; j < palabraSeparada.length; j++) { 
       //Filtar el arreglo de la paalabra separada por si contiene 
       //Espacios los remplaza 
       String palbraSinsEspacioSeparada = palabraSeparada[j].trim().replaceAll("\\s+", ""); 
       if (palbraSinsEspacioSeparada.equals("")) { 
        //Si la palabra no existe la salta y brinca al else 
       } else { 
        listModelPatron.addElement("Delimitador con literales: " + palabraSeparada[j]); 
        listModelToken.addElement("Delimitador: " + palabraSeparada[j]); 
       } 
      } 
     } 
関連する問題