有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java在字符之间替换单词

我是java初学者,我有以下几点

flybirdy_blue.co

strongwolf_red.po

我想要这样的结果

blue
red

 String[] parts = csvFile.split("_");
                 String color = parts[1];

但它给了我错误的结果


共 (3) 个答案

  1. # 1 楼答案

    也许你应该编写自己的函数来更好地理解:

     public ArrayList<String> splitMyString(String wholeString, char[] splitHere){
    
        ArrayList<String> response = new ArrayList<String>();
        String temp ="";
        boolean skip = false;
    
        for(int i = 0 ; i < wholeString.length(); i++){
            for(int j = 0 ; j < splitHere.length; j++){
                if(wholeString.charAt(i) == splitHere[j]){
                    response.add(temp);
                    temp="";
                    skip = true;
                }
            }
            if(skip != true){
                temp = temp +wholeString.charAt(i);
            }else{
                skip = false;
            }
        }
        response.add(temp);
        return response;
    }
    
  2. # 2 楼答案

    你是在“_u”周围分裂,但你需要进一步分裂

    所以试试看

    String[] parts = csvFile.split("_");
    String color = parts[1].split(".")[1];
    

    或者你可以试着四处转转。同时在“字符类”部分使用“[]”解释here

    String[] parts = csvFile.split("[_.]");
    String color = parts[1];
    
  3. # 3 楼答案

    您可以使用substring()函数来获取介于“1”和“.”之间的值如下

    给你:

    String firstcsvFile = "flybirdy_blue.co";
    String secondcsvFile = "strongwolf_red.po";
    String result = firstcsvFile.substring(firstcsvFile.indexOf("_") + 1, firstcsvFile.indexOf("."));
    String result2 = secondcsvFile.substring(secondcsvFile.indexOf("_") + 1, secondcsvFile.indexOf("."));
    System.out.println(result);
    System.out.println(result2);
    

    输出

    blue

    red