JAVA正则表达式替换字符串问题

有一个字符串:Stringstr="第9条,数据错误,错误信息";现在要将这个字符串中所有的“第*条”都通过替换为“第*行”想用正则表达式实现?如何编写... 有一个字符串:String str = "第9条,数据错误,错误信息";
现在要将这个字符串中所有的“第*条”都通过替换为“第*行”
想用正则表达式实现?如何编写
展开
 我来答
yugi111
推荐于2017-11-26 · TA获得超过8.1万个赞
知道大有可为答主
回答量:5.1万
采纳率:70%
帮助的人:1.3亿
展开全部
import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class TestRegex
{
public static void main( String[] args )
{
   String regex = "第[0-9]*条";
   String str = "第9条,数据错误,错误信息,第jjj哦条哦条我的条件如何?第221条xx";
   Pattern pat = Pattern.compile(regex);  
   Matcher matcher = pat.matcher(str);     
   while (matcher.find()) { 
     String temp = str.substring(matcher.start(),matcher.end());
     str = str.replaceAll(temp, temp.substring(0,temp.lastIndexOf("条"))+"行");
   }     
   System.out.println(str);
 }
}
曼珠沙华77
2013-09-06 · 超过18用户采纳过TA的回答
知道答主
回答量:67
采纳率:0%
帮助的人:57.7万
展开全部
public class TestRegex {
public static void main(String[] args) {
String str = "第9条,数据错误,错误信息";
str = str.replaceAll("条", "行");
System.out.println(str);
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
小狂中E
2013-09-06 · TA获得超过1418个赞
知道大有可为答主
回答量:1514
采纳率:66%
帮助的人:1030万
展开全部
光把"条"替换成"行"会将"有5条"中的"条"也替换成"行",必须使用模式搜索才能保证正确
String ptn = "第\\d*(条)";
Pattern p = Pattern.compile(ptn, Pattern.DOTALL);
StringBuffer s = new StringBuffer().append("xx第9条,数据错误,错误信息, 第112条, no");
Matcher m = p.matcher(s);
while(m.find()) {
s = s.replace(m.start(1), m.end(1), "行");
}
return s;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友b0905b3
2013-09-06 · TA获得超过293个赞
知道小有建树答主
回答量:286
采纳率:100%
帮助的人:281万
展开全部
public static void main(String[] args) {
String str = "第9条,数据错误,错误信息";
System.out.println(str.replaceAll("第\\d行","第\\d条"));

}
更多追问追答
追问
你这个靠谱一点。
但是替换后的结果是:第d条,数据错误,错误信息。

是不是吧中间的值丢了啊????
你这个靠谱一点。
但是替换后的结果是:第d条,数据错误,错误信息。

是不是吧中间的值丢了啊????
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wjs5398
2013-09-06 · TA获得超过281个赞
知道小有建树答主
回答量:241
采纳率:0%
帮助的人:171万
展开全部
str.replaceAll("条","行"); so easy!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式