java如何分割字符串

有一个时间字符串,2013-07-2411:48:20现在要把它的,年,月,日,时,分,秒的数字分别取出来,即把上字符串分成6份,怎么分... 有一个时间字符串,2013-07-24 11:48:20
现在要把它的,年,月,日,时,分,秒的数字分别取出来,
即把上字符串分成6份,怎么分
展开
 我来答
大黄冉冉升起
推荐于2019-08-30 · TA获得超过9629个赞
知道小有建树答主
回答量:411
采纳率:90%
帮助的人:56.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代码

  1. public static void main(string[] args) {   

  2. string value = "192.168.128.33";   

  3. string[] names = value.split("\\.");   

  4. for (int i = 0; i < names.length; i++) {   

  5. system.out.println(names[i]);   

  6. }}  

    如果用竖线“|”分隔的话,将出现不可得到的结果,必须改为“\\|”  

历盆郁7
推荐于2017-10-09 · TA获得超过4277个赞
知道大有可为答主
回答量:1795
采纳率:100%
帮助的人:955万
展开全部
  1. 用split处理太麻烦,可以使用StringTokenizer。

  2. 如果是时间字符串,建议使用API里现有的方法,方便


  3. 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


本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
性情中人的文库
推荐于2017-09-05 · TA获得超过481个赞
知道小有建树答主
回答量:219
采纳率:90%
帮助的人:154万
展开全部

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个子字符串。

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
琢离飘04
2013-07-24 · TA获得超过301个赞
知道小有建树答主
回答量:312
采纳率:100%
帮助的人:237万
展开全部
String str = "2013-07-24 11:48:20";
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+-?)");都是可以的)
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
17找工作
2013-07-24
知道答主
回答量:13
采纳率:0%
帮助的人:6.5万
展开全部
String.substring()方法可以分割字符串,例如你的字符串中是以“,”分割的,可以这样用:String.substring(",")就可以分割出来了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(6)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式