繁体   English   中英

对于词法分析器,需要按单词或按符号拆分文本,我不能用空格分隔“()”

[英]Need to split a text word by word or by symbol for a lexic analyzer, i cant separate “()” without space

词汇分析器 在此处输入图片说明

问题是:

当我尝试使用代码拆分单词时:

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

它像图像中那样分离,并且不分离在一起的符号(它们之间没有空格)。

我想知道是否有人可以帮助我提出一个正则表达式,可以将这些符号分隔开(带或不带空格)

大家好,感谢您通过用单词“){”创建一个数组来修复此问题的帮助,之后我将每个符号拆分为一个符号,重新评估了它们的含义。

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]);
                }
            }
        }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM