社区
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分给真正的高手。
...全文
56
7
打赏
收藏
jdk1.4的正则表达式可以用来替换字符串里的部分内容吗?
有这样的串: ... some text ... 想把这些文本换替换成name1,怎么做最简单呢?注意字符串里可能有空格的,比如: ... some text ... 100分给真正的高手。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用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中的
正则表达式
-- 示例详解
大家都知道,
正则表达式
是一种可以用于模式匹配和
替换
的规范,一个
正则表达式
就是由普通的字符(例如字符a到z)以及特殊字符(元字符)组成的文字模式,它用以描述在查找文字主体时待匹配的一个或多个
字符串
。正则...
java
字符串
与
正则表达式
合用_java---
正则表达式
的
字符串
简单实用及扩展链接
一:什么是
正则表达式
1.定义:
正则表达式
是一种可以用于模式匹配和
替换
的规范,一个正则...2.用途:
字符串
匹配(字符匹配)
字符串
查找
字符串
替换
字符串
分割这
里
---
正则表达式
中每一种标记符都代表一种特殊作用及意义...
Java工程师必学系列课程之5--《
字符串
及
正则表达式
》视频课程
本课程涉及的主要
内容
可以分为四
部分
:一、String、StringBuffer和StringBuilder类基本常识、基本原理和使用技巧二、字符编码常识三、Java语言
正则表达式
的详细语法和使用技巧四、实战案例课程说明:在开发Java程序...
【
JDK
】
正则表达式
正则表达式
判断str
里
面的
内容
是否全为数字 public class Test2 { public static void main(String[] args) { String str = "123"; if (str.matches("\\d+")){ int num = Integer.parseInt(...
正则表达式
(含范例)
正则表达式
最早是从UINX系统的工具组件中发展而来的,在
JDK
1.4
以前如果需要使用到
正则表达式
的相关定义则需单独引入其他的.jar文件,而从
JDK
1.4
后,正则已经默认被
JDK
所支持,并且提供有java.util.regex开发
Java SE
62,614
社区成员
307,327
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章