是否有更简单的方法来拆分/重建字符串?

Pho*_*hox 3 java string split

目前我正在这样使用String.split(""):

String[] tmp = props.get(i).getFullName().split("\\.");
String name = "";
for(int j = 1; j < tmp.length; j++){
    if(j > 1){
        name = name + "." + tmp[j];
    }
    else
        name = name + tmp[j];
}
Run Code Online (Sandbox Code Playgroud)

我的字符串是格式的first.second.third...n-1.n,我真正需要做的就是摆脱它first.

Pet*_*rey 8

我会用

String s = "first.second.third...n-1.n";
s = s.substring(s.indexOf('.')+1);
// or
s = s.replaceFirst(".*?\\.", "");
System.out.println(s);
Run Code Online (Sandbox Code Playgroud)

版画

second.third...n-1.n
Run Code Online (Sandbox Code Playgroud)

  • @DVK一个`replaceFirst(".*\\.","")`确实会导致一个贪婪的行为,然后输出`n` ......但是```字符使它成为一个不同的量词,它有一个不情愿的行为.基本上,`*?`**本身就是一个量词**(`不情愿*`),**不是两个**分开的(不是'*+'一次或根本不是'`). (2认同)