s.replaceAll("^([0-9]^) +", "^1,")

Edgeboard 2010-02-25 09:34:16
String s = "61.54.231.245 61.54.231.245 河南省安阳市 新世纪网吧";

System.out.println(s.replaceAll("^([0-9]^) +", "^1,"));

在UltraEdit的正则表达式替换功能中可以用^([0-9]^) 和^1,替换上面的字符串,为什么java中不行
...全文
491 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
龙四 2010-02-25
  • 打赏
  • 举报
回复
正则表达式也是有好几种类型的!

比如PHP就支持两种类型的正则表达式
xiaozejun 2010-02-25
  • 打赏
  • 举报
回复
你要达到一种什么样的效果啊
java中和UltraEdit语法稍微有一点点不同
如果你是要将 字符串中的数字替换为1的话:
System.out.println(s.replaceAll("[0-9]", "1"));

如果你要讲 字符串中的非数字替换为1的话:
System.out.println(s.replaceAll("[^0-9]", "1"));
Z_FEI 2010-02-25
  • 打赏
  • 举报
回复
哦,原来是这样,学习了
码之魂 2010-02-25
  • 打赏
  • 举报
回复
写法多了吧?
既然前后都是数字,那么就可以直接替换空格了阿!!!
正则:s=s.replaceAll("\\d ",",");
Edgeboard 2010-02-25
  • 打赏
  • 举报
回复
"^1",在UltraEdit是把分组1不替换,后面的替换为","还是谢谢,我已经解决了,跟大家分享一下,这个题传智的入学测试题,很有代表性。把"61.54.231.245 61.54.231.245 河南省安阳市 新世纪网吧"变成"61.54.231.245,61.54.231.245,河南省安阳市 新世纪网吧" 难点在于汉字间空格不能替换,
我是这样写的str=str.replaceAll("(?<=[0-9]) +", ",")
lyh200731 2010-02-25
  • 打赏
  • 举报
回复
不明白LZ意思 是把非数字替换成数字么?

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧