Java中 怎么实现从字符串中提取数字

首先谢谢您花几分钟看看
例如:
我想从用户输入的一串字符(string)
提取出其中的数字(int)
比如 "13+45="
我想提取13 和 45 两个数
然后做加操作..
该如何进行呢? 不用正则表达式...

import java.util.ArrayList;
import java.util.List;

public class T4 {

public static void main(String[] args) {
String s = "13+45=";
boolean flag = false;
String ss ="";
List<Integer> list = new ArrayList<Integer>();
for (int i = 0; i < s.length(); i++) {
for (int j = 0; j < 10; j++) {
if (String.valueOf(s.charAt(i)).equals(String.valueOf(j))) {
flag=true;
}
}
if(flag){
ss=ss+s.charAt(i);
flag=false;
}else{
list.add(Integer.parseInt(ss));
ss="";
}
}
int sum=0;
for(int i=0;i<list.size();i++){
sum=sum+list.get(i);
}
System.out.println(sum);
}
}
温馨提示:内容为网友见解,仅供参考
第1个回答  2009-05-13
如果只是这个就好写啊,
String s = "12+23=";
String[] demo = s.split('+');
再把demo中的字符串转换成int
int i = Integer.parstInt(demo[0]);
再加就ok了

-------------------
没开编译器。
希望是你要的答案
第2个回答  2009-05-13
import java.util.ArrayList;

public class GetNum {

public static int[] GetNums(String s){
ArrayList<String> nums = new ArrayList<String>();
String num = "";
boolean lastIsNum = false;
for(int i = 0;i<s.length();i++){
if(s.charAt(i)<='9' && s.charAt(i)>='0'){
lastIsNum = true;
num += s.substring(i,i+1);

}else {
if (lastIsNum)
nums.add(num);
num="";
lastIsNum=false;
}
}
System.out.println(nums);
int[] rs = new int[nums.size()];
for(int i = 0;i<rs.length;i++){
rs[i] = Integer.parseInt((nums.get(i)));
}
return rs;
}

public static void main(String[] args) {
int[] j = GetNums("12sd5sd5w2sds221sdsd");
for(int i = 0 ;i<j.length;i++)
System.out.println(j[i]);
}
}
第3个回答  2009-05-13
只能挨个字母去判断

java怎么获取字符串中指定的值?
在Java中获取字符串中指定的值可以使用以下几种方式:点击学习大厂名师精品课1.使用substring()方法可以使用String类提供的substring(intbeginIndex,intendIndex)方法,从原始字符串中截取出指定范围的字符子串。beginIndex表示截取的起始位置,endIndex表示结束位置(不包含)。2.使用StringUtils类可以使用ApacheCom...

java中如何提取字符串中的数字?
import java.io.BufferedReader;import java.io.InputStreamReader;import java.util.Arrays;public class NumberSplit {public StringBuffer getString(String str) {StringBuffer strbuf = new StringBuffer("t");boolean flag = true;for (int i = 0; i < str.length(); i++) {char c = s...

java中怎么将字符串中的数字取出来
public class 取数字{public static void main(String[] args) {System.out.println("\\n\\t\\t===将字符串中的数字取出来===\\n");init();}\/\/初始化!private static void init(){\/\/分割!String[] s="今天是2017年09月01日".split("\\\\D+");\/\/打印分割的!for (int i=0;i...

怎么用Java把输入的两串字符串中的数字提取出来,并且将两串数字相乘输出...
使用正则表达式抽取数字子串;使用Interger.parse将数字子串转为整数类型;计算两个数字相乘即可;

java中怎么截取字符串中的数字
java中截取字符串中的数字方法有很多,例如用正则表达式。试一试下面的演示程序吧。public class SplitTest{ public static void main(String[] args) { String input = "jdiwo3495jis90.5jsie4dss56djiw9"; String regex = "\\\\d+(\\\\.\\\\d+)?"; Pattern pattern = Pattern...

Java字符串中怎么截取一个多位数?
有很多种方法,第一种方法是将字符串转化成字符数组,通过循环一个一个判断是否数字,是的话进栈,不是的话出栈。另外一种是把字符串转换成stringbuffer类型也是直接循环判断从里面取数,

如何在Java提取出字符串中的数字段(字符串中有好几段数字)?
public static void main(String args[]) throws Exception { Pattern p = Pattern.compile("\\\\d{2,}");\/\/这个2是指连续数字的最少个数 String u = "abc435345defsfsaf564565fsabad5467755fewfadfgea"; Matcher m = p.matcher(u); int i = 0; while (m.find()) { ...

用JAVA从字符串中提取数字,可以一次提取出小数,负数
\/\/是复数,分开提取 int posPlus=sample.lastIndexOf("+");int posMinus=sample.lastIndexOf("-");int split;if(posPlus>posMinus){ split=posPlus;}else{ split=posMinus;} String strA=sample.substring(0,split);String strB=sample.substring(split,sample.length()-1);a=Double.parse...

JAVA中如何从字符串中提取一个整数
java中从字符串中提取一个整数,一个个的对字符串比较效率太低,需要使用正则表达式进行匹配,如下代码:String str = "金额:88,687,594元";Pattern p = Pattern.compile("\\\\d+(,\\\\d{3})*");Matcher m = p.matcher(str);if(m.find()){System.out.println(m.group());} ...

java怎么获取字符串中指定的值?
用subString.具体用法:字符串截取,substring(int beginIndex) 返回一个新的字符串,它是此字符串的一个子字符串。substring(int beginIndex, int endIndex) 返回一个新字符串,它是此字符串的一个子字符串。beginIndex - 起始索引(包括)。从0开始 endIndex - 结束索引(不包括)。"12345".substring...

相似回答