【问题标题】:Split datetime from string android从字符串 android 拆分日期时间
【发布时间】:2015-08-15 16:51:05
【问题描述】:

我有String s = http://kqxs.net.vn/xo-so-ngay/an-giang-xsag-23-4-2015/

(使用Java android)如何将日期字符串23-4-2015从中拆分为两个子字符串:

  1. http://kqxs.net.vn/xo-so-ngay/an-giang-xsag
  2. 23-4-2015

【问题讨论】:

    标签: android split substring


    【解决方案1】:

    用正则表达式试试这个,

    String str = "http://kqxs.net.vn/xo-so-ngay/an-giang-xsag-23-4-2015/";
            String regexStr = "\\d{2}-\\d{1,2}-\\d{4}";
    
    
            Pattern pattern = Pattern.compile(regexStr);
            Matcher matcher = pattern.matcher(str);
    
    
            int startIndex=-1;
            // Check all occurrences
            while (matcher.find()) {
                startIndex = matcher.start();
            }
    
            if(startIndex>0){
                String firstPart = str.substring(0,startIndex-1);
                String secondPart = str.substring(startIndex);
                System.out.println("First Part "+firstPart);
                System.out.println("Second Part "+secondPart);
            }else{
                System.out.println("Match Not Found!");
            }
    

    输出:- 第一部分http://kqxs.net.vn/xo-so-ngay/an-giang-xsag 第二部分 23-4-2015/

    【讨论】:

      【解决方案2】:

      我希望日期永远是最后一个。因此,您实际上可以执行 Java 子字符串,从末尾取出最后 11 个字符。因为有“/”。

      您实际上可以通过正则表达式仅获得一个数字。但是如果 URL 中也有数字是不可能的。

      【讨论】:

        【解决方案3】:

        试试这个代码从字符串中获取日期。

        String str="fgdfg12°59'50\" Nfr | gdfg: 80°15'25\" Efgd";
        String[] spitStr= str.split("\\|");
        
        String numberOne= spitStr[0].replaceAll("[^0-9]", "");
        String numberSecond= spitStr[1].replaceAll("[^0-9]", "");
        

        试试这个另一个代码

        String str=" abc d 1234567890pqr 54897";
        Pattern pattern = Pattern.compile("\\w+([0-9]+)\\w+([0-9]+)");
        Matcher matcher = pattern.matcher(str);
        for(int i = 0 ; i < matcher.groupCount(); i++) {
          matcher.find();
          System.out.println(matcher.group());
        }
        

        【讨论】:

          【解决方案4】:

          使用substring 方法

              String str = "http://kqxs.net.vn/xo-so-ngay/an-giang-xsag-23-4-2015/";
              url = str.substring(0, 43);
              date = str.substring(44, 53);
          

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2020-05-30
            • 2018-07-16
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多