社区
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分给真正的高手。
...全文
59
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编程语言中用于处理
字符串
的强大工具,自
JDK
1.4
版本起被引入。它源于PHP并迅速流行,主要用于复杂
字符串
的验证和处理。
正则表达式
可以高效地完成对
字符串
的检查、分割、
替换
等任务。 ### 一、...
java中的
正则表达式
匹配是最基本的功能之一,它可以用来判断一个
字符串
是否符合某个
正则表达式
。例如: ```java String str = "abcefgABC"; String regEx = "a|f"; Pattern p = Pattern.compile(regEx); Matcher m = p.matcher(str); ...
jdk
1.4
绿色免安装版
1. **
正则表达式
(Regular Expressions)**:
JDK
1.4
引入了对
正则表达式
的全面支持,通过`java.util.regex`包提供了强大的文本处理功能,开发者可以更方便地进行
字符串
匹配和
替换
操作。 2. **NIO(New I/O)**: 新...
JAVA
正则表达式
正则表达式
是一种强大的文本处理工具,用于
字符串
的模式匹配和
替换
。其应用广泛,几乎无处不在,尤其在Unix/Linux环境中。
正则表达式
支持的工具众多,包括但不限于grep、awk、vi和Emacs文本编辑器。脚本语言如Python...
Java
正则表达式
详解
Java编程语言对
正则表达式
的支持始于
JDK
1.4
版本,它内置了
正则表达式
库java.util.regex,提供Pattern和Matcher两个类。Pattern类用于编译
正则表达式
,生成一个模式对象;Matcher类则是一个状态机,根据Pattern对象...
Java SE
62,635
社区成员
307,269
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章