社区
Java SE
帖子详情
jdk1.4的正则表达式可以用来替换字符串里的部分内容吗?
bjzhanghao
2003-08-08 06:13:59
有这样的串:
...
<!--Area1Begins name="name1"-->
some text
<!--Area1Ends-->
...
想把这些文本换替换成name1,怎么做最简单呢?注意字符串里可能有空格的,比如:
...
<!-- Area1Begins name="name1" -->
some text
<!-- Area1Ends -->
...
100分给真正的高手。
...全文
62
7
打赏
收藏
jdk1.4的正则表达式可以用来替换字符串里的部分内容吗?
有这样的串: ... some text ... 想把这些文本换替换成name1,怎么做最简单呢?注意字符串里可能有空格的,比如: ... some text ... 100分给真正的高手。
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
bjzhanghao
2003-08-11
打赏
举报
回复
谢谢你scbb,我要的基本就是这个功能。可惜那天急着走没看到,周末我自己写了一下,跟你的作用是一样的,分当然要给你啦:)
private String createThemeBlocks(String tmp, Article article) {
Pattern p = Pattern.compile("(<!--\\s*TemplateBeginEditable\\s+name=\"([^>]+)\"\\s*-->\\s*<!--\\s*TemplateEndEditable\\s*-->)");
Matcher m = p.matcher(tmp);
StringBuffer sb = new StringBuffer();
boolean result = m.find();
while (result) {
String columnName = m.group(2);
m.appendReplacement(sb, article.getContent());
result = m.find();
}
m.appendTail(sb);
return sb.toString();
}
scbb
2003-08-11
打赏
举报
回复
bjzhanghao (八进制) 你问的是这个意思吗?
scbb
2003-08-08
打赏
举报
回复
我刚看了一下正则。
随便写的。
大家不要笑我啊。
import java.util.regex.*;
import java.lang.*;
public class Test {
public static String getName(String group) {
Pattern p1 = Pattern.compile("<!--\\s*Area1Begins\\s*name\\s*=\\s*\"");
Pattern p2 = Pattern.compile("\"\\s*-->");
Matcher m1 = p1.matcher(group);
Matcher m2 = p2.matcher(group);
boolean b1 = m1.find();
int start = m1.end();
boolean b2 = m2.find();
int end = m2.start();
return group.substring(start, end);
}
public static void main(String[] args) {
StringBuffer sb = new StringBuffer();
String a = " aaa <!-- Area1Begins name=\"name1\" -->\r\nsome text\r\n<!-- Area1Ends -->";
Pattern p1 = Pattern.compile("<!--\\s*Area1Begins\\s*name\\s*=\\s*\".*\"\\s*-->");
Pattern p2 = Pattern.compile("<!--\\s*Area1Ends\\s*-->");
//Pattern p = Pattern.compile("<>");
Matcher m1 = p1.matcher(a);
Matcher m2 = p2.matcher(a);
System.out.println("Before Change");
System.out.println(a);
boolean b1 = m1.find();
String g1 = m1.group();
String name = getName(g1);
int lastend = m1.start();
String lastString = a.substring(0, lastend);
int start = m1.end();
boolean b2 = m2.find();
String g2 = m2.group();
int end = m2.start();
System.out.println();
System.out.println("after Change");
sb.append(lastString);
sb.append(g1);
sb.append("\r\n");
sb.append(name);
sb.append("\r\n");
sb.append(g2);
System.out.println(sb);
}
}
shingle
2003-08-08
打赏
举报
回复
百分百可以
scbb
2003-08-08
打赏
举报
回复
是some text这些文本换成name1?
scbb
2003-08-08
打赏
举报
回复
我想帮你, 不过没看懂,你要什么替换什么。:(
hyqryq
2003-08-08
打赏
举报
回复
没看出有什么难的, 为什么不自己写呢?
java
正则表达式
学习
java
正则表达式
,初步认识
正则表达式
的应用。文档教程
java中的
正则表达式
JAVA
正则表达式
4种常用功能
正则表达式
在
字符串
处理上有着强大的功能,sun在
jdk
1.4
加入了对它的支持 文章主要介绍Java中常用
正则表达式
的写法
jdk
1.4
绿色免安装版
jdk
1.4
,绿色版,免安装版,对于旧的
jdk
代码可以运行。
JAVA
正则表达式
可粗略估计一下,除了偶尔用Linux的外,其他Linu x用户都会遇到
正则表达式
。
正则表达式
是个极端强大工 具,而且在
字符串
模式-匹配和
字符串
模式-
替换
方面富有弹性。在Unix世界
里
,
正则表达式
几乎没有什么限制,可 肯定的是,它应用非常之广泛。
Java
正则表达式
详解
正则表达式
,当以项目为驱动进行学习,否则有很多的东西会记不住的。
Java SE
62,630
社区成员
307,264
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章