转载自:http://chwshuang.iteye.com/blog/1097444
有些字符串是我们存储某种类型名称的,往往有逗号‘,’或者其他符号来分隔。如果我们删除某一个参数时,往往没有数组或者列表那么方便。但是,如果有了下面这个方法,我们同样可以做好。
- 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);
- }
- }
打印结果:
- 编译前: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 - 如果正则表达式的语法无效
- 从以下版本开始:
- 1.4
- 另请参见:
- Pattern