Java—获取字符串中子字符串后面的字符的最简单方法

Java—获取字符串中子字符串后面的字符的最简单方法,java,string,Java,String,如何获取子字符串后面的字符串中的字符列表?是否有内置的字符串方法来执行此操作 List<String> characters = new ArrayList<>(); String string = "Grid X: 32"; // How can I get the characters that come after "Grid X: "? List characters=new ArrayList(); String=“网格X:32”; //如何获取“网格X:”后

如何获取子字符串后面的字符串中的字符列表?是否有内置的字符串方法来执行此操作

List<String> characters = new ArrayList<>();
String string = "Grid X: 32";
// How can I get the characters that come after "Grid X: "?
List characters=new ArrayList();
String=“网格X:32”;
//如何获取“网格X:”后面的字符?

我知道你可以通过循环来实现这一点,但还有其他更简单的方法吗?

只需抓住“:”后面的字符即可


所以你得到冒号的索引,在本例中是6,然后抓取从2开始的子字符串,这是你的数字开始的地方

有两种可能性:

  • 使用正则表达式(regex):

  • 使用字符串的子字符串方法:

    int gridX = Integer.parseInt(string.substring(string.indexOf(':')+1).trim());
    doSomethingWith(gridX);
    

  • 要做到这一点,有不止一种方法。最简单的可能只是子字符串。但是,如果字符串实际上不是以“Grid X:”开头,那就充满了危险


    Regex在这方面也非常出色。

    下面的代码可用于获取字符列表:-

    String gridString = "Grid X: 32";
    
    String newString = gridString.subSubString(gridString.indexOf(gridString ) +  gridString    .length );
    char[] charArray = newString.toCharArray();
    Set nodup = new HashSet(); 
    for(char cLoop : charArray){
    nodup.add(cLoop);
    }
    

    您可以尝试对单词“Grid X:”进行拆分,然后从结果数组中选择第一个元素[position 0],或者您可以拆分为:““我给了您一个,因为我看不到任何向下的解释。”
    int gridX = Integer.parseInt(string.substring(string.indexOf(':')+1).trim());
    doSomethingWith(gridX);
    
    String thirtyTwo = string.substring( s.indexOf("Grid X: ") + "Grid X: ".length() );
    
    String gridString = "Grid X: 32";
    
    String newString = gridString.subSubString(gridString.indexOf(gridString ) +  gridString    .length );
    char[] charArray = newString.toCharArray();
    Set nodup = new HashSet(); 
    for(char cLoop : charArray){
    nodup.add(cLoop);
    }