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怎么从字符串里面提取数字等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)