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

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

16个回答

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

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开始截取,到最后一位结束

    获取第一个非零字符的位置,截取字符串
    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);
u013946257
小路1993 这样也可以
2 年多之前 回复
u013946257
小路1993 String str = "0909988a0700";System.out.println(str.replaceFirst("[0]*", ""));
2 年多之前 回复
u013946257
小路1993 String str = "0909988a0700";
2 年多之前 回复

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

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

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

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

 alert("00000999887".replace(/^(0)\1+/ig, function () { return ''; }));

JS 代码

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

qq_15895655
Karler_ ok
2 年多之前 回复

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();
}

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;
}

共16条数据 1 尾页
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!