zhw928
zhw928
采纳率50%
2017-04-05 07:27

字符串截取问题,请大神帮忙

10

String str="00000999887"; 字符串前面的0不固定有几个,想截取0后面的所有字符,请问用什么方法简单。

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

16条回答

  • yxthethethe yxthethethe 4年前

    str.subSequence(str.lastIndexOf("0")+1, str.length())

    点赞 7 评论 复制链接分享
  • meng20166 乐古 4年前

    String str="00000999887";
    System.out.println(str.substring(str.lastIndexOf("0")+1, str.length()));
    注意:str.lastIndexOf("0")的意思是从0最后一次出现的时候的下标,又由于“从0最后一次出现的时候”包含最后一个“0”,所以要从从0最后一次出现的下一位开始截取,故+1,.substring是截取字符串的意思,从str.lastIndexOf("0")+1开始截取,到最后一位结束

    点赞 2 评论 复制链接分享
  • u013946257 小路1993 4年前
        获取第一个非零字符的位置,截取字符串
        String str = "00000909988a07";
        String result = str;
        String pattern = "[^0]{1}";
    
        Pattern r = Pattern.compile(pattern);
        Matcher m = r.matcher(str);
        if (m.find()) {
            result = str.substring(m.start());
        }
        System.out.println("result:" + result);
    
    点赞 1 评论 复制链接分享
  • jolindear jolindear 4年前

    str.subString(str.lastIndexOf("0")+1, str.length()) 截取字符串,

    string(integer(str))  别的方法;
    
    点赞 评论 复制链接分享
  • m0_37448346 铜豌豆0330 4年前

    (String) str.subSequence(str.lastIndexOf("0")+1, str.length());

    点赞 评论 复制链接分享
  • Pnfy__Shan 單鵬飛 4年前

    String str="00000999887";
    int s = Integer.parseInt(str);
    str = s.toString();

    点赞 评论 复制链接分享
  • xuanzhangran 转角人生 4年前

    很简单:直接替换掉:System.out.println(str.replace("0", ""));

    点赞 评论 复制链接分享
  • glydxm 夜幕色倾城 4年前

    public static String splitStr(String s){
    if (s == null || "".equals(s.trim())) {
    return "";
    }
    String x = s.charAt(0) + "";
    while ("0".equals(x)) {
    s = s.substring(1, s.length());
    if ("".equals(s.trim())) {
    return "";
    }
    x = s.charAt(0) + "";
    }
    return s;
    }

    点赞 评论 复制链接分享
  • hunanhlm myCodeStyle 4年前

    public static void main(String[] args) {
    String str="00000999887";
    int zeroSize =getSart0Number(str);
    String strSub = str.substring(zeroSize,str.length());
    System.out.println(strSub);
    }
    public static int getSart0Number(String num){
    return num.length() - String.valueOf(Integer.parseInt(num)).length();
    }

    点赞 评论 复制链接分享
  • qq_15895655 Karle_ 4年前

    1.首先获取最后一个0的下标
    int index=str.lastIndexOf("0")
    2.然后通过0的下标截取后面所有数据
    str.substring(index)

    点赞 评论 复制链接分享
  • wlyynl iwish-danny 4年前
    • 如果只有前面有0的话,用replace()方法,吧所有的0替换成为空字符就可以大概如下
      String str="00000999887"; 
      str.replace("0", "");
    
    • 如果0后面的数字也存在0的
    第一种方案:
     先把字符串转化为字符串数组,然后循环,在碰到第一个非零的数字后,就结束,并且把剩余的拼接成新字符串
    第二种方案:
      写一个牛X的正则
    
    点赞 评论 复制链接分享
  • z81434362 五更琉璃 4年前
     alert("00000999887".replace(/^(0)\1+/ig, function () { return ''; }));
    

    JS 代码

    点赞 评论 复制链接分享
  • weisongming 争取多缴税 4年前

    string(integer(str))

    点赞 评论 复制链接分享
  • z562743237 zsc我行我素 4年前

    如果全部是数字的话,可以使用Integer.valueOf(str).toString();

    如果不是全部为数字的话,就需要遍历处理

    点赞 评论 复制链接分享
  • u013096402 ltshu007 4年前

    p=str;while(*p=='0')p++;strcpy(str,p);

    点赞 评论 复制链接分享
  • a494326752 a494326752 4年前

    遍历字符串,把等于0的删掉

    点赞 评论 复制链接分享

相关推荐