java从字符串提取数字
A. java中 怎么实现从字符串中提取数字
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);
}
}
B. java中怎么截取字符串中的数字
substring
publicclassTest{
publicstaticvoidmain(String[]args){
Stringa="123fggs2fg6";
for(inti=0;i<a.length();i++)
{
Stringone=a.substring(i,i+1);
charar=one.charAt(0);
if(ar>='0'&&ar<='9')
{
//是数字
System.out.println(ar);
}
}
}
}
C. Java问题:从字符串中提取用空格隔开的数字
String s = "16 5 12 136";String s1[] = s.trim().split(" ");//先用trim()去掉s的前后的空格,再用空格分割s到s1中
for (int i = 0; i < s1.length; i++) {
System.out.println(s1[i]);//输出s1
}
D. java 从字符串中提取数字
3楼的哥们的代码好像不顾通用吧,如果是第四象限的复数,这个就不能用了。
String ss = "9+9.4i";
String [] result = ss.split("[^0-9.]{1}");
if(result.length == 3)
{
System.out.println(Double.parseDouble(result[1])+" "+Double.parseDouble(result[2]));
}
else if (result.length == 2)
{
System.out.println(Double.parseDouble(result[0])+" "+Double.parseDouble(result[1]));
}
else
{
}
以上是我答案。
E. 如何在Java提取出字符串中的数字段(字符串中有好几段数字)
publicstaticvoidmain(Stringargs[])throwsException{
Patternp=Pattern.compile("\d{2,}");//这个2是指连续数字的最少个数
Stringu="";
Matcherm=p.matcher(u);
inti=0;
while(m.find()){
System.out.println(m.group());
i++;
}
System.out.println(i);
}
F. java如何从任意字符串中截取数字
用java中String类里的split();方法 这一方法支持正则表达式
用法
String str=“1234567.1234”;
String [] strs = str.split("[.]");
就可以得到数组 strs[0] =1234567; strs[1] =1234
G. java:从String中提取数字
importjava.util.Scanner;
publicclassTest{
publicstaticvoidmain(String[]args){
Scannerin=newScanner(System.in);
Strings1=in.nextLine();//nextLine()才能读取空格
String[]strArray=s1.split("");
for(inti=0;i<strArray.length;i++){
//intArray[i]=Integer.parseInt(strArray[i]);
System.out.println(strArray[i]);
//System.out.println(s1);
}
}
}
H. javase:从一行字符串中提取出各个数字来.
这个简单啊,用正则就可以搞定
import java.util.*;
import java.util.regex.*;
import java.io.*;
public class BaiDu {
public static void main(String[] args) {
try {
List<String> list = new ArrayList<String>();
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
System.out.print("请输入字符串:");
String str = br.readLine();
Pattern p = Pattern.compile("\\d+\\.*\\d*");
Matcher m = p.matcher(str);
while (m.find()) {
list.add(m.group());
}
for (int i = 0;i < list.size();i++ ) {
System.out.println(list.get(i));
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
I. java从一行字符串中提取数字
LZ,可以把整个文本文档读入,然后判断每一个字符,转换成char类型,判断其asc码的范围。
J. 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 = str.charAt(i);
// 判断是否是数字
if (c >= '0'&& c <= '9') {
// 判断和字符串中的数字是否重复
for (int j = 1; j < strbuf.length(); j++) {
if (c == strbuf.charAt(j)) {
// 如果重复,标志位数值为false,并跳出循环;否则标志位设置为true.
flag = false;
break;
} else
flag = true;
}
// 只有在即是数字又不重复的情况下才将改字符拼接到字符串上.
if (flag) {
strbuf.append(c);
}
}
}
return strbuf;
}
public static void main(String args[]) throws Exception {
System.out.println("请输入一段字符串,并以回车结束");
BufferedReader buf = new BufferedReader(
new InputStreamReader(System.in));
String str = buf.readLine();
StringBuffer strbuf = new NumberSplit().getString(str);
// 将返回的StringBuffer转换为字符数组
char c[] = strbuf.deleteCharAt(0).toString().toCharArray();
// 对字符数组排序
Arrays.sort(c);
// 输出字符数组
for (int i = 0; i < strbuf.length(); i++) {
System.out.print(c[i]);
}
}