问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

asd123dsf5 4dsf89,用java将字符串中的数字取出放到一个数组里,结果应...

发布网友 发布时间:2024-03-11 06:36

我来回答

5个回答

热心网友 时间:2024-03-25 14:59

String strs="asd123dsf5 4dsf89"; String newstrs=""; //String keg="[0-9]+"; for (int i = 0; i < strs.length(); i++) { char str=strs.charAt(i); if(Num(str)){//判断当前的是不是数字 if(i+1<strs.length()){//判断下一个字符是不是数字 if(Num (strs.charAt(i+1))){ newstrs+=str; } else { newstrs+=str+","; } } else //最后一个字符 { newstrs+=str; } } } System.out.println(newstrs);
//判断是否是数字
static boolean Num(char c) { //boolean b=false; if(c>=48&&c<=57){ return true; } return false; }

热心网友 时间:2024-03-25 15:03

String有一个方法 split 按正则表达式来拆分字符串。 看一下jdk api 然后再看一下正则表达式 这个就很简单搞定了。 初学者自己搞定会有意外收获的,所以只讲下要用什么就不帮你写了。

热心网友 时间:2024-03-25 15:04

package 测试练习;
import java.util.*;
public class get_StringNum {

/**
*2012.6.2
*/

public static void main(String[] args) {
String str = "love23next234csdn3423javaeye";
str=str.trim();
String str2="";
if(str != null && !"".equals(str)){
for(int i=0;i<str.length();i++){
if(str.charAt(i)>=48 && str.charAt(i)<=57){
str2+=str.charAt(i);
}
}

}
System.out.println(str2);
}

}

output:

232343423

这个方法有个明显的缺点,只能把数字全部提取到一起,不能分别提取。当然也可以改进,有兴趣的朋友可以试试。

2 正则表达式

import java.util.*;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class get_StringNum {

/**
*2012.6.2
*/

public static void main(String[] args) {
String a="love23next234csdn3423javaeye";
String regEx="[^0-9]";
Pattern p = Pattern.compile(regEx);
Matcher m = p.matcher(a);
System.out.println( m.replaceAll("").trim());
}

}

output:

232343423

Pattern ,Matcher是java.util.regex软件包里的两个类,具体用法大家可以查阅一下api。同样也不能单个提取数字。

3 集合类库

import java.util.*;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class get_StringNum {

/**
*2012.6.2
*/

public static void main(String[] args) {
String a="love23next234csdn3423javaeye";
List<String> digitList = new ArrayList<String>();
Pattern p = Pattern.compile("[^0-9]");
Matcher m = p.matcher(a);
String result = m.replaceAll("");
for (int i = 0; i < result.length(); i++) {
digitList.add(result.substring(i, i+1));

}
System.out.println(digitList);

}

}

output:

[2, 3, 2, 3, 4, 3, 4, 2, 3]

相同的思路:

import java.util.*;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class get_StringNum {

/**
*2012.6.2
*/

public static void main(String[] args) {
String a="love23next234csdn3423javaeye";
List<String> ss = new ArrayList<String>();
for(String sss:s.replaceAll("[^0-9]", ",").split(",")){
if (sss.length()>0)
ss.add(sss);
}
System.out.print(ss);

}

}

output:

[2, 3, 2, 3, 4, 3, 4, 2, 3]
很明显,利用正则表达式我们就可以分别提取数字了。

热心网友 时间:2024-03-25 15:00

用正则来匹配呀

热心网友 时间:2024-03-25 15:06

public static void main(String[] args){
String str = "asd123dsf5 4dsf89";
char[] chars = str.toCharArray();
List<String> array = new ArrayList<String>();
StringBuffer stringBuffer = new StringBuffer();
for(char b : chars){
if(Character.isDigit(b)){
stringBuffer.append(b);
}else{
if(stringBuffer.toString().length() > 0){
array.add(stringBuffer.toString());
stringBuffer.setLength(0);
}
}
}
if(stringBuffer.toString().length() > 0){
array.add(stringBuffer.toString());
}
for(String s : array){
System.out.println(s);
}
}
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
养胃的药最好的是什么啊 婴儿积食发烧不愿吃药怎么办 板门穴位在哪个部位 手机设置放偷看的方法? 凝结水回收器生产厂家? 个人账户养老金预测公式:现有5万元,缴费20年,能领多少钱? 临沂比较有名的男装品牌 呼伦贝尔市悦动网络科技有限公司怎么样? 呼伦贝尔中汇实业有限公司怎么样? 呼伦贝尔油玉不绝电子商务有限公司怎么样? 江苏省淮安电信公司怎么样?真是很低能的电信公司吗?淮安电信要招聘新人... 土方的开挖顺序方法必须与设计情况相一致并遵循开槽支撑什么严禁超挖的... 友谊为什么会淡化 ...方法必须与设计要求相一致,并遵循“开槽支撑,( ),严禁超挖”的原则... 翡翠送人送什么讲究翡翠送人的讲究有什么 平板电脑如何横屏? 您的手机号在最近24小时内绑定过三个,已达到限制,...24小时后... 金山升及每次都要等几分钟 我用的一铁通 正不正常 一年内可以修改几次吗? 能改几次? 三台八座的意思三台八座的解释三台八座接龙 ...婚姻里的夫妻两人都不爱对方了,就真的要去离婚吗?那么,当下会有多少... 不爱老公了 应该离婚吗 是不是不爱了就要离婚、、? 微信手机号在24小时内,已绑定两个,已达到限制,不能在绑定其他微信... 您的手机号在最近24小时内绑定过三个,已达到限制,...24小时后... 麦吉减肥法第二阶段忍不住吃了几块芝士饼干怎么办? 恢复我的微信被删除的好友,没有和手机号怎么样才能找回 怎么样加回删除的微信好友误删了我的微信好友,但又没有它的,怎么... 被删除的微信好友怎么找回没有电话号码没有 关于微信绑定上限的问题:你的手机号在最近24小时内已绑定过3个... 为什么我打开360安全卫生是总是出现.注册编辑已被管理员停用? 360卫士更新为什么你的lD 以停用 使用奇虎360安全卫士在管理系统帐号中Administrator用户设为帐户已停用... 关于微信绑定上限的问题:你的手机号在最近24小时内已绑定过3个... 微信手机号在24小时内,已绑定两个,已达到限制,不能在绑定其他微信... 西安亨孚防务科技有限责任公司怎么样 微信手机号在24小时内,已绑定两个,已达到限制,不能在绑定其他微信... 燃气轮机有哪些制造公司? 青园本部和梓枫校区的差别 微信手机号在24小时内,已绑定两个,已达到限制,不能在绑定其他微信... 瓣膜成型和置换手术是机器人微创好还是人手工好【瓣膜后叶脱落伴重度... 铁渣子炒热加白醋对腰疼有什么功效 东丰村属于哪里 石家庄富品华实业有限公司怎么样? 无极县康牧家庭农场怎么样? 无极县方兴皮革制品有限公司怎么样? 无极县坤泰皮革制品有限公司怎么样? 无极县聚成皮革制品有限公司怎么样? 为什么excel复制到另一个里变了