java中怎么截取字符串中的数字

java中怎么截取字符串中的数字,第1张

java中截取字符串中的数字方法有很多,例如用正则表达式。试一试下面的演示程序吧。

public class SplitTest

{

    public static void main(String[] args)

    {

        String input = "jdiwo3495jis905jsie4dss56djiw9";

        String regex = "\\d+(\\\\d+)";

        Pattern pattern =  Patterncompile(regex);

        Matcher matcher = patternmatcher(input);

        while(matcherfind())

        {

            Systemoutprintln(matchergroup());

        }

    }

}

public class  取数字

{

public static void main(String[] args) 

{

Systemoutprintln("\n\t\t==========将字符串中的数字取出来==========\n");

init();

}//初始化!

private static void init()

{

//分割!

String[] s="今天是2017年09月01日"split("\\D+");

//打印分割的!

for (int i=0;i<slength ;i++ )

{

Systemoutprint(s[i]+" ");

}

Systemoutprintln();

}

}

@echo off&setlocal enabledelayedexpansion

::至于这个str变量值,请自行获取

set str="有1个姑娘"

set str_a=!str!

set str_b=!str!

for /l %%a in (0,1,9) do set str_a=!str_a:%%a=!

call:calc !str_a!

echo 源值 !str! 中包含的数字为 !str_b!

pause

exit

:calc

set n=0

set "s=%~1"

:loop

set "t=!s:~%n%,1!"

if "%t%"=="" (

    set "str_b=!str_b:"=!"

    goto :eof

)

set "str_b=!str_b:%t%=!"

set /a n+=1

goto loop

#include<stdioh>

#include<mathh>

#include<stdlibh>

intmain()

{

intz=0;

intt,i;

intp;

intm=0;

ints=0;

chara[10];//输入一个字符串到a[6]

printf("请输入一个字符串\n");

scanf("%s",a);//输入字符串

for(i=0;i<10;i++)//计算a[6]中的数字个数

{

if(a[i]>='0'&&a[i]<='9')

m++;

}

if(m==0)

printf("字符串中没有数字\n");

p=(int)calloc(m,sizeof(int));//动态数组

for(i=0;i<10;i++)

{

if(a[i]>='0'&&a[i]<='9')

{

(p+s)=a[i]-48;

s++;

}

}

//组成新的整数

for(t=0;t<m;t++)

{

z+=((p+t))pow(10,m-(t+1));//组成新的整数

}

printf("新组成整数:%d\n",z);

free(p);

}

kuo

扩展资料

C语言实现将字符串的数字提取为整数

#include<stdioh>

intStringToInteger(charp)

{

intvalue=0;

while(p!='\0')

{

if((p>='0')&&(p<='9'))

{

value=value10+p-'0';

}

p++;

}

returnvalue;

}

intmain(void)

{

charstr="1121231561";

intval=0;

val=StringToInteger(str);

printf("value=%d\n\r",val);

getchar();

return0;

}

import javautilIterator;

import javautilSet;

import javautilTreeSet;

public class Cat {

public static void main(String[] args) {

String str="aadasf1213dsfa";

String str1="ada12ad3232adaf";

Set<Integer> set = getNumsFromStr(str);

Set<Integer> set1 = getNumsFromStr(str1);

Systemoutprint(str + "--->");

for (Iterator iter = setiterator(); iterhasNext();) {

Integer element = (Integer) iternext();

Systemoutprint(element + " ");

}

Systemoutprint("\n" + str1 + "--->");

for (Iterator iter = set1iterator(); iterhasNext();) {

Integer element = (Integer) iternext();

Systemoutprint(element + " ");

}

}

private static Set<Integer> getNumsFromStr(String str) {

String[] ary = strreplaceAll("[^\\d]", " ")split("\\s+");

Set<Integer> set = new TreeSet<Integer>();

for(String num: ary){

if(!numtrim()equals("")){

setadd(new Integer(numtrim()));

}

}

return set;

}

}

--------------------------

aadasf1213dsfa--->1213

ada12ad3232adaf--->12 3232

import javaioBufferedReader;

import javaioInputStreamReader;

import javautilArrays;

public class NumberSplit {

public StringBuffer getString(String str) {

StringBuffer strbuf = new StringBuffer("t");

boolean flag = true;

for (int i = 0; i < strlength(); i++) {

char c = strcharAt(i);

// 判断是否是数字

if (c >= '0'&& c <= '9') {

// 判断和字符串中的数字是否重复

for (int j = 1; j < strbuflength(); j++) {

if (c == strbufcharAt(j)) {

// 如果重复,标志位数值为false,并跳出循环;否则标志位设置为true

flag = false;

break;

} else

flag = true;

}

// 只有在即是数字又不重复的情况下才将改字符拼接到字符串上

if (flag) {

strbufappend(c);

}

}

}

return strbuf;

}

public static void main(String args[]) throws Exception {

Systemoutprintln("请输入一段字符串,并以回车结束");

BufferedReader buf = new BufferedReader(

new InputStreamReader(Systemin));

String str = bufreadLine();

StringBuffer strbuf = new NumberSplit()getString(str);

// 将返回的StringBuffer转换为字符数组

char c[] = strbufdeleteCharAt(0)toString()toCharArray();

// 对字符数组排序

Arrayssort(c);

// 输出字符数组

for (int i = 0; i < strbuflength(); i++) {

Systemoutprint(c[i]);

}

}

import javaioBufferedReader;

import javaioInputStreamReader;

import javautilArrays;

public class NumberSplit {

public StringBuffer getString(String str) {

 StringBuffer strbuf = new StringBuffer("t");

 boolean flag = true;

for (int i = 0; i < strlength(); i++) {

  char c = strcharAt(i);

// 判断是否是数字

  if (c >= '0'&& c <= '9') {

   // 判断和字符串中的数字是否重复

   for (int j = 1; j < strbuflength(); j++) {

    if (c == strbufcharAt(j)) {

     // 如果重复,标志位数值为false,并跳出循环;否则标志位设置为true

   

flag = false;

     break;

    } else

     flag = true;

   }

   // 只有在即是数字又不重复的情况下才将改字符拼接到字符串上

   if (flag) {

    strbufappend(c);

   }

  }

 }

 return strbuf;

}

public static void main(String args[]) throws Exception {

 Systemoutprintln("请输入一段字符串,并以回车结束");

 BufferedReader buf = new BufferedReader(

   new InputStreamReader(Systemin));

 String str = bufreadLine();

StringBuffer strbuf = new NumberSplit()getString(str);

 // 将返回的StringBuffer转换为字符数组

 char c[] = strbufdeleteCharAt(0)toString()toCharArray();

// 对字符数组排序

 Arrayssort(c);

 // 输出字符数组

 for (int i = 0; i < strbuflength(); i++) {

  Systemoutprint(c[i]);

 }

}

以上就是关于java中怎么截取字符串中的数字全部的内容,包括:java中怎么截取字符串中的数字、java中怎么将字符串中的数字取出来、bat怎么从字符串里面提取数字等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9318662.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-27
下一篇 2023-04-27

发表评论

登录后才能评论

评论列表(0条)

保存