一.去掉字符串中非数字的字符
“2014-06-30 05:41:04”这个是时间的字符串,我们要去掉里面的非数字字符,一般都会去截取or 循环。今天我想了两个比较简单的方法,希望对大家有帮助。
首先我的说一下java.util.regex。不懂的请百度。
java.util.regex是一个用正则表达式所订制的模式来对字符串进行匹配工作的类库包。
它包括两个类:Pattern和Matcher Pattern 一个Pattern是一个正则表达式经编译后的表现模式。
Matcher 一个Matcher对象是一个状态机器,它依据Pattern对象做为匹配模式对字符串展开匹配检查。
首先一个Pattern实例订制了一个所用语法与PERL的类似的正则表达式经编译后的模式,然后一个Matcher实例在这个给定的Pattern实例的模式控制下进行字符串的匹配工作
去掉字符串中非数字的字符。
// 去掉字符串中非数字的字符
String d = "2014-06-30 05:41:04";
// 方案一:
Pattern p = Pattern.compile("[^0-9]");
Matcher m = p.matcher(d);
d = m.replaceAll("");
Log.e("-----我最后的结果是---------", d + "----");
// 方案二:
String tmpStr = "";
if (d.length() > 0) {
for (int i = 0; i < d.length(); i++) {
String tmp = "" + d.charAt(i);
if ((tmp).matches("")) {
tmpStr += tmp;
}
}
}
Log.e("-----我最后的结果是-----------", d + "----" + tmpStr);
Pattern p = Pattern.compile("[^0-9]");
Matcher m = p.matcher(v);
v = m.replaceAll("");
二.字符串转换
String sT = strTime.replace(":", "-");
String s = "abcabcabc";
int i=s.indexOf("b");
s=s.substring(0, i)+s.substring(i+1);
System.out.println(s);