3 回答
TA贡献1821条经验 获得超4个赞
如果您要做的只是更改数据中的值,请遍历每个元素并使用以下replace方法:
for (int i = 0; i < data.size(); i++ ) {
data.set(i, data.get(i).replace("ksh", ""));
data.set(i, data.get(i).replace(",",""));
}
这将用空字符串替换“ ksh”字符串和逗号。正如Snoob所说,replace()由于String是不可变的,因此只返回新的String。
TA贡献1875条经验 获得超5个赞
public class Main {
public static void main(String[] args) {
ArrayList<String> list = new ArrayList<>();
list.add( "ksh10,000");
list.add( "ksh20,000");
list.add( "ksh30,000");
list.add( "ksh40,000");
list.add( "ksh50,000");
printStrings(list);
ArrayList<String> newList = editList(list);
printStrings(newList);
}
public static ArrayList<String> editList(ArrayList<String> list){
ArrayList<String> newList = new ArrayList<>();
for(String str : list) {
String temp = "";
for(char c : str.toCharArray()) {
if(Character.isDigit(c))
temp += c;
}
newList.add(temp);
}
return newList;
}
public static void printStrings(ArrayList<String> list) {
for(String str : list){
System.out.println(str);
}
}
}
最好的方法(如果您不知道字符串的确切结构)是检查字符是否为数字,如果是,则将其添加到字符串中,为列表中的每个字符串循环并返回一个新的字符串。 list,其中包含第一个列表中字符串的编辑版本。
TA贡献1812条经验 获得超5个赞
这是使用StreamAPI的巨大变化。我将把练习的一部分留给您作为练习。
import java.util.stream.*;
class Solution {
String generateOutput (ArrayList<String> inputValues) {
return data.stream()
.map(this::scrubValue)
.collect(Collectors.joining(","));
}
String scrubValue (String input) {
// you'll need to write code here that takes an input like "ksh10,000" and returns "10000"
}
}
添加回答
举报