有些字符串是我们存储某种类型名称的,往往有逗号‘,'或者其他符号来分隔。如果我们删除某一个参数时,往往没有数组或者列表那么方便。但是,如果有了下面这个方法,我们同样可以做好。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
public class Test3 { /** * @param args */ public static void main(String[] args) { //要切割的字符串 String s = "123.jpg,113.jpg,121.jpg,122.jpg,131.jpg" ; String sub = "" ; System.out.println( "编译前:" +s); //调用方法 sub = s.replaceAll( ",113.jpg|113.jpg," , "" ); //.replaceAll( ",122.jpg|122.jpg,",""); System.out.println( "编译后:" +sub); } } |
打印结果:
1
2
3
|
编译前:123.jpg,113.jpg,121.jpg,122.jpg,131.jpg 编译后:123.jpg,121.jpg,122.jpg,131.jpg |
下面回顾一下JDK1.6中的replaceAll方法说明:
replaceAll
public String replaceAll(String regex,
String replacement)使用给定的 replacement 替换此字符串所有匹配给定的正则表达式的子字符串。
调用此方法的 str.replaceAll(regex, repl) 形式与以下表达式产生的结果完全相同:
Pattern.compile(regex).matcher(str).replaceAll(repl)
注意,在替代字符串中使用反斜杠 (\) 和美元符号 ($) 与将其视为字面值替代字符串所得的结果可能不同;请参阅 Matcher.replaceAll。如有需要,可使用 Matcher.quoteReplacement(java.lang.String) 取消这些字符的特殊含义。
参数:
regex - 用来匹配此字符串的正则表达式
replacement - 用来替换每个匹配项的字符串
返回:
所得 String
抛出:
PatternSyntaxException - 如果正则表达式的语法无效