在String上使用子字符串的替代方法

Paw*_*wan 0 java

我有一个包含下划线的字符串,如下所示:

123445_Lisick

我想删除下划线后String中的所有字符.我已经尝试了下面的代码,它正在工作,但还有其他方法可以做到这一点,因为我需要将这个逻辑放在一个for循环中以从ArrayList中提取元素.

public class Test {
    public static void main(String args[]) throws Exception {
        String str = "123445_Lisick";
        int a = str.indexOf("_");
        String modfiedstr = str.substring(0, a);
        System.out.println(modfiedstr);
    }
}
Run Code Online (Sandbox Code Playgroud)

Bil*_*ard 5

另一种方法是使用该split方法.

String str = "123445_Lisick";
String[] parts = string.split("_");
String modfiedstr = parts[0];
Run Code Online (Sandbox Code Playgroud)

我不认为这真的会给你买任何东西.你正在使用的方法确实没有错.