java如何分割字符串
现在要把它的,年,月,日,时,分,秒的数字分别取出来,
即把上字符串分成6份,怎么分 展开
substring讲解:
s=s.substring(int begin);截取掉s从首字母起长度为begin的字符串,将剩余字符串赋值给s;
s=s.substring(int begin,int end);截取s中从begin开始至end结束时的字符串,并将其赋值给s;
split讲解:
java.lang.string.split
split 方法
将一个字符串分割为子字符串,然后将结果作为字符串数组返回。
stringObj.split([separator,[limit]])
参数
stringObj
必选项。要被分解的 String 对象或文字。该对象不会被 split 方法修改。
separator
可选项。字符串或 正则表达式 对象,它标识了分隔字符串时使用的是一个还是多个字符。如果忽
略该选项,返回包含整个字符串的单一元素数组。
limit
可选项。该值用来限制返回数组中的元素个数。
说明
split 方法的结果是一个字符串数组,在 stingObj 中每个出现 separator 的位置都要进行分解
。separator 不作为任何数组元素的部分返回。
split 的实现直接调用的 matcher 类的 split 的方法。“ . ”在正则表达式中有特殊的含义,因此我们使用的时候必须进行转义。
Java代码
public static void main(string[] args) {
string value = "192.168.128.33";
string[] names = value.split("\\.");
for (int i = 0; i < names.length; i++) {
system.out.println(names[i]);
}}
如果用竖线“|”分隔的话,将出现不可得到的结果,必须改为“\\|”
用split处理太麻烦,可以使用StringTokenizer。
如果是时间字符串,建议使用API里现有的方法,方便
import java.text.Format;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.List;
import java.util.StringTokenizer;
public class $ {
public static void main(String[] args) {
String str = "2013-07-24 11:48:20";
System.out.println("第一种方法:针对字符串");
test1(str);
try {
System.out.println("第一种方法:针对时间");
test2(str);
} catch (ParseException e) {
e.printStackTrace();
}
}
private static void test1(String str) {
StringTokenizer st = new StringTokenizer(str, "- :");
List<String> data = new ArrayList<String>();
while (st.hasMoreElements()) {
data.add(st.nextToken());
}
System.err.println(data);
}
private static void test2(String str) throws ParseException {
Format f = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date d = (Date) f.parseObject(str);
// 由于Date里面获取年月日的方法被@Deprecated了,所以使用Calendar
Calendar c = Calendar.getInstance();
c.setTime(d);
System.out.println(c.get(Calendar.YEAR));
System.out.println(c.get(Calendar.MONTH));// 月份从0开始
System.out.println(c.get(Calendar.DAY_OF_MONTH));
System.out.println(c.get(Calendar.HOUR));
System.out.println(c.get(Calendar.MINUTE));
System.out.println(c.get(Calendar.SECOND));
}
}结果:
第一种方法:针对字符串
[2013, 07, 24, 11, 48, 20]
第一种方法:针对时间
2013
6
24
11
48
20
java分割字符串用split,例如
String sourceStr = "1,2,3,4,5";
String[] sourceStrArray = sourceStr.split(",");
for (int i = 0; i < sourceStrArray.length; i++) {
System.out.println(sourceStrArray[i]);
}
split分隔符总结
1.字符"|","*","+"都得加上转义字符,前面加上"\\"。
2.而如果是"\",那么就得写成"\\\\"。
3.如果一个字符串中有多个分隔符,可以用"|"作为连字符。
比如:String str = "Java string-split#test",可以用Str.split(" |-|#")把每个字符串分开。这样就把字符串分成了3个子字符串。
Pattern pat = Pattern.compile("(\\d+ ?)");
Matcher m = pat.matcher(str);
while(m.find()){//查找一下
System.out.println(m.group().replaceAll("[^0-9]", ""));//替换掉非数字字符(上面的正则表达式里面是有一个空格的,注意或者你把正则改成Pattern pat = Pattern.compile("(\\d+-?)");都是可以的)
}