求問 撰寫一個Java代碼,從字串中洗掉所有字母‘g’(除了第一個和最后一個)
uj5u.com熱心網友回復:
/**
* @param str 原字串
* @param delStr 需要洗掉的字符
* */
public String del(String str, String delStr){
String end = "";
if (str.length() > 2){
end =str.charAt(0)+ str.substring(1, str.length()-1).replace("g", "") + str.charAt(str.length()-1);
}
return end == "" ? str : end;
}
uj5u.com熱心網友回復:
/**
* @param str 原字串
* @param delStr 需要洗掉的字符
* */
public String del(String str, String delStr){
String end = "";
if (str.length() > 2){
end =str.charAt(0)+ str.substring(1, str.length()-1).replace(delStr, "") + str.charAt(str.length()-1);
}
return end == "" ? str : end;
}
uj5u.com熱心網友回復:
除了第一個和最后一個,你是指除了第一個g和最后一個g嗎?還是第一個字母和最后一個字母?uj5u.com熱心網友回復:
可以利用字串分割再合并,省去定位第一個和最后一個的位置public class Sample {
public static void main(String[] args) {
String s = "000001g2g3g4g5g6g7g8g9g00000";
List<String> list = new ArrayList<>(Arrays.asList(s.split("g"))); //把字串按'g'分割
int count = list.size();
if (count > 1) { //把第一個g補回去
list.add(1, "g");
}
if (count > 2) {
list.add(list.size()-1, "g"); //把最后一個g補回去
}
s = String.join("", list.toArray(new String[0])); //把分割的字串再合并
System.out.println(s);
}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/87479.html
標籤:Eclipse
