java中,正则表达式匹配出来的字符串赋值给一个数组

比方说匹配出来的很多个电话号码,11223333223331122231233。。。什么的然后把第一个电话号码赋值给str[1],第二个赋值给str[2]。。。依此。。。... 比方说匹配出来的很多个电话号码,11223333 2233311 22231233 。。。什么的
然后把第一个电话号码赋值给str[1],第二个赋值给str[2]。。。依此。。。
代码怎么写
展开
 我来答
jg...7@163.com
2011-04-18 · TA获得超过287个赞
知道小有建树答主
回答量:149
采纳率:0%
帮助的人:191万
展开全部
采用你上面的假设"11223333 2233311 22231233"为电话号码,我的正则表达式只能匹配7~8为的电话号码,如果 "11223333 2233311 22231233"不是7位或8位的数字,将不匹配。以下是我的代码实现,
希望对你有帮助。
Pattern p = Pattern.compile("[0-9]{7,8}");
String str = "11223333 2233311 22231233";
Matcher m = p.matcher(str);
//由于不知道有多少个电话号码会被匹配出来,所以采用List存放电话号码
List<String> mobileList = new ArrayList<String>();
while(m.find()){
mobileList.add(m.group()); //将匹配出的电话号码存放到mobileList中
}
String[] mobiles = new String[mobileList.size()]; //声明数组存放电话号码
int i = 0;
for(String mobile : mobileList){ //将list中的电话号码转存到数组中
mobiles[i] = mobile;
i++;
}
for(int j=0;j<mobiles.length;j++){
System.out.println(mobiles[j]); //打印电话号码
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
flyingFish211
2011-04-18 · TA获得超过2.1万个赞
知道大有可为答主
回答量:1.5万
采纳率:50%
帮助的人:1.1亿
展开全部
String[] ay = str.split("正则")...
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式