String str="(12+2)3";
String result="";
int a,b,c;
//将字符串中的非数字字符转换为空格
for(int i=0;i<strlength();i++){
if(CharacterisDigit(strcharAt(i))){
result+=strcharAt(i);
}else{
result+=' ';
}
}
String[] arrStr=resulttrim()split("\\s+");//去掉前后空格后,再以空格分割字符串
a=IntegerparseInt(arrStr[0]);
b=IntegerparseInt(arrStr[1]);
c=IntegerparseInt(arrStr[2]);
Systemoutprintf("a=%d,b=%d,c=%d",a,b,c);//输出a=12,b=2,c=3
//我举的这个办法比较简单,当然你也可以用正则表达式!
public class 截取字符串数 {
public static void main(String[] args) {
//字符串!
String s="sdf23dfa32dsfa12";
//字符数组;
char[] chs=stoCharArray();
//取0-9;这个范围的数字!
for (int i = 0; i < chslength; i++) {
if(chs[i]>=48&&chs[i]<=57)
Systemoutprint(chs[i]);
}
}
}
实例描述
字符串中可以包含数字,字母、汉字或者其他字符。使用Character类的isDigit()方法可以判断字符中的某个字符是否为数字,使用Character类的isLetter()方法可以判断字符中的某个字符是否为字母。实例中将介绍一种方法用来判断字符串中的某个字符是否为汉字,通过此方法可以计算字符串中汉字的数量。实例的运行效果如图424所示。
实现过程
在Eclipse中新建项目ChineseCharacter,并在其中创建一个ChineseCharacterjava文件。在该类的主方法中创建标准输入流的扫描器对象,接收用户输入的字符串。我们在程序中使用matches()方法来统计该字符串中汉字的个数。核心代码如下所示:
protectedvoiddo_button_actionPerformed(ActionEvente){Stringtext=chineseAreagetText();//获取用户输入intamount=0;//创建汉字数量计数器for(inti=0;i<textlength();i++){//遍历字符串每一个字符//使用正则表达式判断字符是否属于汉字编码booleanmatches=Patternmatches("^[\u4E00-\u9FA5]{0,}$",""+textcharAt(i));if(matches){//如果是汉字amount++;//累加计数器}}umFieldsetText(amount+"");//在文本框显示汉字数量}
代码解析
本实例的关键点在于正则表达式的使用。Java提供了Pattern用于正则表达式的编译表示形式,该类提供的静态方法matches()可以执行正则表达式的匹配。该方法编译给定正则表达式并尝试给定输入与其匹配。如果要匹配的字符序列与正则表达式匹配则返回true,否则返回false。其声明语法如下:
publicstaticbooleanmatches(Stringregex,CharSequenceinput);知识扩展
使用正则表达式可以方便地进行字符串 *** 作,正则表达式经常被用来验证用户输入的信息,如可以判断用户输入的格式是否正确。本实例中使用正则表达式来判断用户输入的字符串是否为汉字,如果为汉字则计数器加1,最后得到字符串中所有汉字的数量。
以上就是关于java怎么提取出String中所有数字段并分别赋值全部的内容,包括:java怎么提取出String中所有数字段并分别赋值、java怎么截取string中的数字、java语言中如何获取字符串中汉字的个数等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)