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]);
}
}