任何人都可以帮我按号码拆分字符串 例如:“我需要5000点”是我想从该字符串中“5000”的字符串。
我尝试过很多方法:
//split the string by RegExp:
String array = string.split(".*\\d.")
我得到了输出但不是我期望的
输出:
array[0] = ""
array[1] ="points
任何人都可以帮我找到合适的解决方案吗?
答案 0 :(得分:5)
Pattern pattern = Pattern.compile("\\d+");
Matcher matcher = pattern.matcher("I Need 5000 points");
while (matcher.find()) {
System.out.println(matcher.group());
}
答案 1 :(得分:2)
您希望拆分不数字的所有内容:
String array[] = string.split("\\D+");
答案 2 :(得分:1)
String str="I Need 5000 points";
Pattern p = Pattern.compile("\\d)");
Matcher m = p.matcher(str);
while(m.find())
{
System.out.println(m.group());
}
答案 3 :(得分:1)
试试这个。
Pattern p=Pattern.compile("\\d+");
Matcher m=p.matcher(yourString);
while(m.find()){
System.out.println(m.group());
}
答案 4 :(得分:1)
你能尝试一下吗(也应该使用数字编号):
echo preg_replace("/[^0-9,.]/", "", "I Need 5000 points");
答案 5 :(得分:0)
一般情况下,您可以尝试拆分
str.matches("-?\\d+(\\.\\d+)?"); //match a number with optional '-' and decimal.
虽然这不是你尝试过的方式。通过myString.split("\\s+");
获取字符串[],然后检查分割的字符串是否包含任何数字。
请注意上面的RegEx机制,因为如果您使用非拉丁(即0到9)数字,它将会失败。例如,阿拉伯数字。
答案 6 :(得分:-1)
import java.util.regex.*;
String myString = "I Need 5000 points";
Pattern pattern = Pattern.compile("\\d+");
Matcher matcher = pattern.matcher(myString);
if(matcher.find())
System.out.println(matcher.group(0));