导航:首页 > 编程语言 > java正则表达式分析替换字符串

java正则表达式分析替换字符串

发布时间:2024-04-13 02:12:49

java 替换特殊字符 的 正则表达式

JAVA替换特殊字符的正则表达式


代码如下:
importjava.util.regex.*;

//表达式对象
Patternp=Pattern.compile("[\'\*\~版]");

//创建Matcher对象
Matcherm=p.matcher("Stringstr="t'e*s~t";");

//替换
Stringnewstring=m.replaceAll("[$0]");


效果权如下:




正则参考http://zh.wikipedia.org/wiki/%E6%AD%A3%E5%88%99%E8%A1%A8%E8%BE%BE%E5%BC%8F

Ⅱ java中怎么进行字符串替换

replace方法
该方法的作用是替换字符串中所有指定的字符,然后生成一个新的字符串。经过该方法调用以后,原来的字符串不发生改变。例如:

String s = “abcat”;
String s1 = s.replace(‘a’,‘1’);

该代码的作用是将字符串s中所有的字符a替换成字符1,生成的新字符串s1的值是“1bc1t”,而字符串s的内容不发生改变。
如果需要将字符串中某个指定的字符串替换为其它字符串,则可以使用replaceAll方法,例如:

String s = “abatbac”;
String s1 = s.replaceAll(“ba”,“12”);

该代码的作用是将字符串s中所有的字符串“ab”替换为“12”,生成新的字符串“a12t12c”,而字符串s的内容也不发生改变。
如果只需要替换第一个出现的指定字符串时,可以使用replaceFirst方法,例如:

String s = “abatbac”;
String s1 = s. replaceFirst (“ba”,“12”);

该代码的作用是只将字符串s中第一次出现的字符串“ab”替换为字符串“12”,则字符串s1的值是“a12tbac”

Ⅲ java正则表达式怎么定义只替换中间的字符

可以使用StringBuffer定义字符串,之后使用replace方法替换指定位置的字符串为指定的字符串内内容,如下代码:容
public class Demo1 {
public static void main(String[] args) {
StringBuffer buffer = new StringBuffer("123456");
System.out.println(buffer.toString());//输出123456
buffer.replace(0, 1, "a");
System.out.println(buffer.toString());//输出a23456
}
}
这里简单介绍一下replace方法的使用,replace方法一共有三个参数,第一个参数是指定要替换的字符串的开始位置,第二个参数是指定要替换的字符串的结束位置(注意这里的结束位置不包括本身),第三个参数是指定想将字符串替换成什么内容。
如:原字符串内容为"123456",现在调用replace(0, 2, "abc"),原字符串变为"abc3456"

Ⅳ java用正则表达式判定特殊字符是否,存在就替换的问题

String ss = "aabbcc[{dd}]eeff[{gg}]hhiijjkkll[{mmnn}]oopp";
System.out.println(ss.replaceAll("[\\[{,}\\]]*", ""));
使用的是正则表达式。其中中括号为关键字,意思是符合中括号里面专的内容,属因此要想去掉原有string中的[和],则不需加上\进行特殊标识,指定为字符而非正则表达式元素。
方法和讲解完毕,有不清楚的可以再学学正则表达式。
来分吧,哈哈

Ⅳ java中怎么替换string中的某个字符

/¥392931String这个对于程序原来说一定是最熟悉不过的,很多时候我们都习惯去使用String的原生方法去完成查找字符串、替换、删除,而正则表达式由于略显苦涩的语法常常被人忽略,其实很多时候使用正则表达式可以提高不少性能和节省资源。

一、正则表达式简述

正则表达式正则表达是Java中比较矛盾的知识点,因为使用起来可以很简单也可以相当地有难度,但是对于字符串操作来说应用得当则事半功倍,字符串查找,搜索,匹配,替换等等,正则表达式无所不能。而所谓正则表达式本质就是一个字符串(这个字符串按照一定的语法和规范被构造出来作为限定条件),其主要参与者——Pattern和Matcher:Pattern是Java正则表达式API中的主要入口,是程序语言中对这个特殊正则字符串的编译表示,需要使用正则表达式,第一步都是从构造Pattern 类开始,而Matcher是输入字符串进行解释和匹配操作的引擎,通过解释 Pattern 对 Character sequence 执行匹配操作(即Matcher负责完成字符串的查找、匹配、替换等操作。)

二、正则表达式基本语法

1、预留字符

限定符

说明

. 任意英文字母

反斜杠, 单独的反斜杠做为转义字符,与其他特殊字符一起使用。如果想匹配反斜杠本身,需要转义。两个反斜杠实际匹配一个反斜杠n字符的8进制表示.n 在0至7之间取值

nn 字符的8进制表示.n 在0至7之间取值

mnn 字符的8进制表示. m 在0至3之间取值, n 在0至7之间取值

xhh 字符的16进制表示.

uhhhh 字符的16进制表示 0xhhhh. 对应unicode 编码字符

缩进符.

换行符 (unicode: ‘u000A’)

回车符 (unicode: ‘u000D’)

f 制表符 (unicode: ‘u000C’)

a 警报(铃声)字符 (unicode: ‘u0007′)

e 转义符 (unicode: ‘u001B’)

cx 控制符 x

d 匹配任意数字 [0-9]

D 匹配任意非数字 [^0-9]

s 匹配任意空白符 (空格, 缩进, 换行,回车)

S 匹配任意非空白符

w 匹配任意单词

W 匹配任意非单词

2、设置指定限定条件[](即“[]”表示的是中括符里的内容是条件)

限定符

说明

[a-z] 匹配小写a to z范围中任一个字符,又如[abc] 匹配 a, 或 b 或 c

[A-Z] 匹配大写A to Z范围中任一个字符

[a-zA-Z] 匹配小写a to z或大写A to Z范围中一个字符

[0-9] 匹配小写0 to 9范围中一个字符

[0-9a-z] 匹配小写0 to 9或a to z范围中一个字符

[0-9[a-z]] 匹配小写0 to 9或a to z范围中一个字符(交集)

[^abc] 匹配不是a,b,c 的字符,是否定匹配

[a-zA-Z] 匹配a 到 z ,A到Z 直接的字符,是范围匹配

[a-d[m-p]] 匹配a到d之间字符或 m到p之间字符,是并集匹配

[a-z&&[def]] 匹配 d, e, 或 f. 是交集匹配 (这里是在范围 a-z和字符def之间取交集).

[a-z&&[^bc]] 匹配a-z 之间所有字符,排除bc的字符。是减法匹配

[a-z&&[^m-p]] 匹配a-z 之间所有字符,排除m-p之间的字符是减法匹配

3、边界匹配

边界符

说明

^ 匹配行首

$ 匹配行尾

 匹配单词边界

B 匹配非单词边界

A 匹配文本开头

G 匹配前一匹配项结尾

 输入的结尾,仅用于最后的结束符(如果有的话)

z 匹配文本结尾

4、逻辑操作符和量词表示

正则表达式支持少量的逻辑运算(与,或)。与操作是默认的,表达式 cmo,意味着c 与 m与o。
或操作需要显示指定,用 | 表示。例如表达式 crazy|mo意味着crazy或 mo。

贪婪模式

饥饿模式

独占模式

说明

X? X?? X?+ 匹配0或1次,即出现X 0或者1次

X* X**? X*+ 匹配0或多次

X+ X+? X++ 匹配1或多次

X{n} X{n}? X{n}+ 匹配n次

X{n,} X{n,}? X{n,}+ 匹配最少n次

X{n, m} X{n, m}? X{n, m}+ 匹配最少n次,最多m次

三、正则表达式的应用

Ⅵ java正则表达式替换一段字符串

Java正则表达式 .*(from.*)$ 替换成 select count(*) $1

完整的Java替换程序如下

publicclassAA{
publicstaticvoidmain(String[]args){
Strings="Selectafromxxxa"+"wherea.id=:id";
Stringregex=".*(from.*)$";
Stringresult=s.replaceAll(regex,"selectcount(*)$1");
System.out.println(result);
}
}

运行结果
selectcount(*)fromxxxawherea.id=:id
因为我不知道TbItem.class.getName()方法返回的表回名,所以用答xxx代替.
你可以用Strings="Selectafrom"+TbItem.class.getName()+"a"+"wherea.id=:id";没问题不用改.

Ⅶ java正则表达式多个字符串替换怎样实现

str.replaceAll("[A-Z]+\\d{3}", "hello").replaceAll("[^A-Za-z]", "==");

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

importjava.util.regex.Matcher;
importjava.util.regex.Pattern;

publicclassTestRegex
{
publicstaticvoidmain(String[]args)
{
Stringregex="第[0-9]*条";
Stringstr="第9条,数据错误,错误信息,第jjj哦条哦条我的条件如何?第221条xx";
Patternpat=Pattern.compile(regex);
Matchermatcher=pat.matcher(str);
while(matcher.find()){
Stringtemp=str.substring(matcher.start(),matcher.end());
str=str.replaceAll(temp,temp.substring(0,temp.lastIndexOf("条"))+"行");
}
System.out.println(str);
}
}

Ⅸ java正则表达式怎么一个个替换匹配的内容

Stringa="我是f_static_000的f_static_001aaaf_static_001";
//正则根据自己需要修改,replaceAll可以使用正则的捕获组功能,$n引用第n个捕获组
/**
replaceAll(regExp,replacement);第一个参专数是正则字符属串,第二个是替换内容
正则里面有捕获(正则里面用小括号捕获)和引用的功能
*/
a=a.replaceAll("(f_static_\d+)","#[face/png/$1.png]#");

阅读全文

与java正则表达式分析替换字符串相关的资料

热点内容
百度离线的js文件在哪 浏览:992
穿越到抗战拥有系统的小说 浏览:113
开数据怎么开的 浏览:35
岛国能看的网站 浏览:960
win10servicing文件夹 浏览:989
午夜影院0660 浏览:323
法国love手机在线 浏览:433
抖音免费在线观看 浏览:799
韩国伦理电影爱人免费在线播放 浏览:195
为什么电脑微信文件发送不出去 浏览:573
新入职女社员女演员叫什么 浏览:700
可搜索 网站 在线观看 浏览:816
对数据真实性负有什么权 浏览:604
elonafix版本错误 浏览:70
百度网络推广的形式 浏览:691
word左边显示提纲 浏览:810
台湾最好看的三极武工片 浏览:98
2021最新电影免费观看的网址 浏览:629
韩国推理片在线播放 浏览:110
推荐韩日推理电影 浏览:989

友情链接