Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/345.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
java正则表达式删除数字,包括,_Java_Regex_Regex Greedy - Fatal编程技术网

java正则表达式删除数字,包括,

java正则表达式删除数字,包括,,java,regex,regex-greedy,Java,Regex,Regex Greedy,字符串: "75,000", "is", "95%", "or", "95/100" "of", "monthly", "income" o/p: "is","%, "or", "/", "of", "monthly", "income" 我在下面尝试:在for循环中 if (String.matches("[\\d]*[.,]*[\\d%]")) { String = String.replace

字符串:

"75,000", "is", "95%", "or", "95/100" "of", "monthly", "income"
o/p:

"is","%, "or", "/", "of", "monthly", "income"
我在下面尝试:在for循环中

        if (String.matches("[\\d]*[.,]*[\\d%]"))
                {   
                    String = String.replaceAll("[\\d]*[.,]*[\\d%]","");
                    String.previous();
                    String.set(token);
                    String.remove();
                    String.next();
                }
但它一点也没有发现数字

将非常感谢您的帮助

请尝试

"\\d*[.,]?\\d+%"
这将使一个数字与一个可选的
匹配,并在末尾与一个
%
匹配。 如果您想匹配以
%
结尾的数字,只需在末尾添加一个

试试

"\\d*[.,]?\\d+%"
这将使一个数字与一个可选的
匹配,并在末尾与一个
%
匹配。 如果您想匹配以
%
结尾或不以
%
结尾的数字,只需在末尾添加一个

尝试以下模式:

(\\d+[,/%]?\\d*)
匹配项:
75000
95%
95/100



"(\\d+,\\d+)|\\d+"
匹配项:

75000
95
100
(数字),(数字)或数字

此模式:

[^\\d,]+  or eventually [^\\d,\\"]+
匹配项:


%

/
属于
每月
收入

尝试以下模式:

(\\d+[,/%]?\\d*)
匹配项:
75000
95%
95/100



"(\\d+,\\d+)|\\d+"
匹配项:

75000
95
100
(数字),(数字)或数字

此模式:

[^\\d,]+  or eventually [^\\d,\\"]+
匹配项:


%

/
属于
每月

收入

试试这个正则表达式:

"\\d*[.,]?\\d+%?"

请尝试以下正则表达式:

"\\d*[.,]?\\d+%?"

这段代码甚至可以编译吗?我发布它的方式似乎是错误的(string是stringbuilder)。我只是想简单介绍一下我正在实现的逻辑。它是一个带引号的字符串,还是一个数组或列表?请显示输入和预期输出-但请仔细编辑您的问题-请精确,以便我们能够确信您想要什么。现在这一切看起来有点奇怪,我为把这个问题毫无条理地提出来而道歉。这是一个数组列表,“o/p”是什么意思?你只是想删除列表中所有字符串中的所有数字吗?这段代码编译了吗?我发布它的方式似乎是错误的(字符串是字符串生成器)。我只是想简单介绍一下我正在实现的逻辑。它是一个带引号的字符串,还是一个数组或列表?请显示输入和预期输出-但请仔细编辑您的问题-请精确,以便我们能够确信您想要什么。现在这一切看起来有点奇怪,我为把这个问题毫无条理地提出来而道歉。这是一个数组列表,“o/p”是什么意思?您只是想删除列表中所有字符串中的所有数字吗?您的第一行不正确。在java中,
\d
需要转义,即使在字符类中也是如此。“\\d*[,]?\\d+%”这个正则表达式没有选择“75000”@RohitJain好的,我会编辑掉它。谢谢你的更正。你的第一行不正确。在java中,
\d
需要转义,即使在字符类中也是如此。“\\d*[,]?\\d+%”这个正则表达式没有选择“75000”@RohitJain好的,我会编辑掉它。谢谢你的更正。