Java 爪哇及;正则表达式:清理并拆分字符串

Java 爪哇及;正则表达式:清理并拆分字符串,java,regex,split,Java,Regex,Split,我有一个字符串,其中包含格式化的十进制值,如45890.00、1.5v 2、12g等。此外,它还包含特殊字符、HTML实体(转义和非转义)UTF-8编码字符等,所有这些都在一行中。虽然我已经成功地清理了实体,但我仍然在努力找到一种方法来确保在空格或标点符号上拆分时不会拆分由逗号或句点分隔的数字 示例字符串: > String original_str = > "a,b;c.d+e-f/g\h*i~j=k?l$m 1.5 1,5 1.5v 1,5v 1255,456.78 &

我有一个字符串,其中包含格式化的十进制值,如45890.00、1.5v 2、12g等。此外,它还包含特殊字符、HTML实体(转义和非转义)UTF-8编码字符等,所有这些都在一行中。虽然我已经成功地清理了实体,但我仍然在努力找到一种方法来确保在空格或标点符号上拆分时不会拆分由逗号或句点分隔的数字

示例字符串

> String original_str = 
>     "a,b;c.d+e-f/g\h*i~j=k?l$m 1.5 1,5 1.5v 1,5v 1255,456.78 & 6<7 &amp; 6&gt;5 &#1602; f&uuml;r; {AGB's;} ([für]); ";
>字符串原始\u str=

>“a,b;c.d+e-f/g\h*i~j=k?l$m1.51,51.5v1,5v1255456.78&6使用带有模式的正则表达式

.split("[^0-9][.,]|[.,][^0-9]|\\s+|(?![.,])\\p{Punct}")

这将拆分任何在句点或逗号两侧都没有数字的字符,或任何其他非句点或逗号的标点符号。管道之间的第3部分包含任何空格。最后一部分基于负数前瞻,这将在中讨论,以防止已匹配的逗号和句点被安全拆分在这里匹配数字。

该网站的工作方式是,你发布你的代码,分析你认为它在做什么,我们会帮助你。我们通常不会为你编写代码。@TonyEnnis这不是一个措辞最好的问题,但他的问题是,“我如何在不中断标点数字的情况下分割逗号和点分隔符?”?“为此,我们一直提供正则表达式或小代码示例支持。我知道。但他应该尝试一个解决方案。对不起,我的英语不好,但我不想从你那里得到代码,正如杰夫·弗兰所说,我需要正确的正则表达式来处理任何类似十进制的关键字?如果我使用“(\\d,)?(\\d.)”我得到1.5伏,但是1.5伏怎么样?@Rami.Q我已经清理了一些东西。希望你能得到一些选票。我希望我的回答也能有所帮助。