我想要一个条件,只有如果一个字符串中包含更多的四位数字,并且如果字符串中少于四位数字是假的,我尝试过正则表达式像/ \ d {4} /,需要帮助如何检查一个字符串是否包含多个数字(java)?
回答
以下模式会匹配包含至少4个数字的字符串:
(.*?\d){4, }
不,它是一个正则表达式模式。如何将它集成到Java中不应该是问题 –
public static void main(String[] args) {
String toCheck1 = "assg3asgasgas123aassag3";
String toCheck2 = "aasdasfasfs";
System.out.println(String.format("more then 4 number in \"%s\" - %s", toCheck1, moreThen4NumbersInString(toCheck1)));
System.out.println(String.format("more then 4 number in \"%s\" - %s", toCheck2, moreThen4NumbersInString(toCheck2)));
}
private static boolean moreThen4NumbersInString(String string) {
int numberOfNumbers = 0;
for (int i = 0; i < string.length(); i++) {
if (Character.isDigit(string.charAt(i))) {
numberOfNumbers++;
if (numberOfNumbers > 4) {
return true;
}
}
}
return false;
}
输出:
更然后4号在 “assg3asgasgas123aassag3” - 真更然后4在 “aasdasfasfs”号 - 假
转换的string
到char[]
。 for
- 通过数组中的所有元素进行循环,并计数int count
中的数字编号。就这么简单
“。*?”必须位于数字的前面 –
@RafaelAlbert,除了'\ d。*?'以外的任何一种方式似乎都更有效。 –
取决于模式是否必须匹配开头或者不匹配,因此使用的方法。 –
在这里,你走了样:
package com.company.misc;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class RegexSample {
public static void main(String[] args) {
String regex = "(.*?\\d){4,}";
//(.*?\d){4, } do not use this, compilation error
String input = "test2531";
Pattern pattern = Pattern.compile(regex);
Matcher matcher = pattern.matcher(input);
boolean isMatched = matcher.matches();
System.out.println(isMatched);
}
}
希望我已经给出了你的用例的例子。
- 1. Java,如何检查一个字符串是否包含数字?
- 2. Java:检查字符串是否包含多个字符
- 3. Javascript - 如何检查一个字符串是否包含多个子字符串
- 4. 检查一个字符串是否包含数字和字母
- 5. 如何检查一个字符串是否包含一个子字符串 - mysql
- 6. Applescript:检查一个字符串是否包含空字符串?
- 7. 如何检查一个TextView是否包含某个字符串
- 8. 检查一个List/ArrayList是否包含一个字符串的字符Java
- 9. 如何检查字符串是否包含某个字符?
- 10. 如何检查一个字符串是否包含任何一些字符串
- 11. 检查一个字符串是否包含数字
- 12. F#检查一个字符串是否只包含数字
- 13. 检查字符串是否包含一个数字范围
- 14. 如何检查url是否包含多个字符串。 Javascript/jquery
- 15. 检查一个字符串是否只包含特殊字符
- 16. 检查一个字符串是否不包含一些文字
- 17. 检查一个字符串是否包含任何字符串数组元素
- 18. 如何检查一个字符串是否包含zalgo文本?
- 19. 如何检查一个字符串是否包含char?
- 20. 如何检查一个字符串是否包含在ArrayList中?
- 21. 如何检查一个字符串是否包含两个星号字符?
- 22. 如何检查一个字符串是否包含两个相同的字符?
- 23. 检查一个字符串是否包含一个int
- 24. 检查一个列表是否包含一个字符串
- 25. 有效检查一个字符串是否包含另一个字符串
- 26. 检查一个字符串是否包含另一个字符串
- 27. Ruby:如何检查一个字符串是否包含多个项目?
- 28. 检查字符串是否包含空格和多个@符号
- 29. 如何检查是否字符串包含数字符号
- 30. 检查一个字符串是否包含整数
@kruti您可能的重复根本不是重复的 –
“没有运气”不足以说明您遇到的问题。 – khelwood
可能重复的[正则表达式计数不包括空格的位数](http://stackoverflow.com/questions/23978695/regex-count-number-of-digits-excluding-space) – Rupsingh