java怎么提取出String中所有数字段并分别赋值?

比如已知stringstr="(12+2)*3";inta,b,c;求助怎么把12,2,3从字符串中提取出来,并分别赋值给a,b,c?... 比如已知string str="(12+2)*3";int a,b,c;
求助怎么把12,2,3从字符串中提取出来,并分别赋值给a,b,c?
展开
 我来答
在翠平湖梳妆的蜜李
2019-10-15 · 超过65用户采纳过TA的回答
知道小有建树答主
回答量:94
采纳率:67%
帮助的人:60万
展开全部
String str="(12+2)*3";
String result="";
int a,b,c;
//将字符串中的非数字字符转换为空格
for(int i=0;i<str.length();i++){
if(Character.isDigit(str.charAt(i))){
result+=str.charAt(i);
}else{
result+=' ';
}
}
String[] arrStr=result.trim().split("\\s+");//去掉前后空格后,再以空格分割字符串
a=Integer.parseInt(arrStr[0]);
b=Integer.parseInt(arrStr[1]);
c=Integer.parseInt(arrStr[2]);
System.out.printf("a=%d,b=%d,c=%d",a,b,c);//输出a=12,b=2,c=3
司马刀剑
高粉答主

2019-10-15 · 每个回答都超有意思的
知道顶级答主
回答量:4.6万
采纳率:93%
帮助的人:7626万
展开全部
先找一个判断出是否是数字的正则表达式。 然后遍历你的字符串,一个一个去对比,如果是数字,就提出来。 思路是这样。 String str = "Vz0-Ra0-Sz05.7sc"; for(int i=0;i<str.length();i++){ str.charAt(i); }
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
旅初彤2B
2019-10-15 · TA获得超过2.6万个赞
知道大有可为答主
回答量:4.4万
采纳率:65%
帮助的人:5509万
展开全部
import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class test{
public static void main(String[] args) {
String str = "(12+2)*3";
int a=0,b=0,c=0,count=0;;
Matcher m = Pattern.compile("\\d+").matcher(str);
while (m.find()) {
count++;
if (count==1) {
a = Integer.parseInt(m.group());
}else if (count==2) {
b = Integer.parseInt(m.group());
}else{
c = Integer.parseInt(m.group());
}
}
System.out.println(a+","+b+","+c);
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
六棱视角
2019-10-15 · TA获得超过957个赞
知道小有建树答主
回答量:1245
采纳率:38%
帮助的人:413万
展开全部
找人给你写个正则表达式吧
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式