替换字符之间的单词

时间:2017-03-15 13:23:22

标签: java

我是java的初学者,我有以下

flybirdy_blue.co

strongwolf_red.po

我想要这样的结果

blue
red

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

但它给我错误的结果

4 个答案:

答案 0 :(得分:1)

你正在分裂" _" ,但你需要进一步分裂"。" ..

所以试试,

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

或者你可以试着分开_& 。同时使用" []"在"字符类&#34中解释here;部分:

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

答案 1 :(得分:1)

你可以使用它:

String s = "flybirdy_blue.po";
Pattern pattern = Pattern.compile("(_)(.+)(\\.)");
Matcher matcher = pattern.matcher(s);
if (matcher.find()) {
    System.out.println(matcher.group(2)); //red
}

答案 2 :(得分: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;
}

答案 3 :(得分:0)

您可以使用substring()函数获取“_”和“。”之间的值。如下。

你走了:

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

输出

  

蓝色

     

红色