Java replaceAll的用法

 前段时间,做程序的时候,想用replaceAll方法,结果报错,后来发现这个方法需要写正则表达式。因为一直没有用过正则表达式,因此用别的方法替代了。

    今天,在知道上有人问了repalceAll的用法,于是google一下,发现还是很好用的,记录下来。

public static void main(String[] args) {
  String url="/html-123.shtml";
  String Url = url.replaceAll("???", "???");
  System.out.println(Url);//输出html.jsp=id=123
 }
replaceAll改怎么填?
假设id的值只能是0-9的数字,如果可以是任意字符那么\\d修改为.。
public static void main(String[] args) {
  String url="/html-123.shtml";
  String Url = url.replaceAll("/(.*)-(\\d*).shtml", "$1.jsp=id=$2");
  System.out.println(Url);//输出html.jsp=id=123
 }
以下转自http://www.blogjava.net/Werther/archive/2009/06/10/281198.html,只是部分。

1.字符

x    字符 x。例如a表示字符a
\\    反斜线字符。在书写时要写为\\\\。(注意:因为java在第一次解析时,把\\\\解析成正则表达式\\,在第二次解析时再解析为\,所以凡是不是1.1列举到的转义字符,包括1.1的\\,而又带有\的都要写两次)
\0n    带有八进制值 0的字符 n (0 <= n <= 7)
\0nn    带有八进制值 0的字符 nn (0 <= n <= 7)
\0mnn    带有八进制值 0的字符 mnn(0 <= m <= 3、0 <= n <= 7)
\xhh    带有十六进制值 0x的字符 hh
\uhhhh    带有十六进制值 0x的字符 hhhh
\t    制表符 ('\u0009')
\n    新行(换行)符 ('\u000A')
\r    回车符 ('\u000D')
\f    换页符 ('\u000C')
\a    报警 (bell) 符 ('\u0007')
\e    转义符 ('\u001B')
\cx    对应于 x 的控制符
2.字符类
[abc]    a、b或 c(简单类)。例如[egd]表示包含有字符e、g或d。
[^abc]    任何字符,除了 a、b或 c(否定)。例如[^egd]表示不包含字符e、g或d。
[a-zA-Z]    a到 z或 A到 Z,两头的字母包括在内(范围)
[a-d[m-p]]    a到 d或 m到 p:[a-dm-p](并集)
[a-z&&[def]]    d、e或 f(交集)
[a-z&&[^bc]]    a到 z,除了 b和 c:[ad-z](减去)
[a-z&&[^m-p]]    a到 z,而非 m到 p:[a-lq-z](减去)
3.预定义字符类(注意反斜杠要写两次,例如\d写为\\d)任何字符

(与行结束符可能匹配也可能不匹配)
\d    数字:[0-9]
\D    非数字: [^0-9]
\s    空白字符:[ \t\n\x0B\f\r]
\S    非空白字符:[^\s]
\w    单词字符:[a-zA-Z_0-9]
\W    非单词字符:[^\w]


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值