我对Processing和Java很陌生,所以这可能很简单。跟我说吧。它只是滑过我的脑袋。这是我的代码
我提取的txt文件包含以下数字:
1:100
2:200
3:300等。
void setup() {
size(200,200);
String[] lines = loadStrings("WordFrequency.txt");
lines = lines.replaceAll(":", ",");
lines = lines.replaceAll(" ", ",");
}
}
答案 0 :(得分:1)
您的代码正在尝试调用数组上的replaceAll()
,但该代码无法正常工作。您必须遍历数组并为每个索引调用它。另请注意,replaceAll()
使用正则表达式,这对您的目的来说是过度的。我改用replace()
。更多信息可以在the Java API找到。
所以,你所描述的是三个步骤:
第1步:遍历数组中的每个String
。
第2步:用逗号替换冒号。
第3步:用逗号替换空格。
总而言之,它看起来像这样:
for(int i = 0; i < lines.length; i++){
lines[i] = lines[i].replace(":", ",");
lines[i] = lines[i].replace(" ", ",");
}
你可以缩短它,直接拨打replace()
第一次拨打replace()
时返回的值:
for(int i = 0; i < lines.length; i++){
lines[i] = lines[i].replace(":", ",").replace(" ", ",");
}
但是这段代码并不比第一个选项快,所以你应该坚持使用你最了解的代码。
答案 1 :(得分:0)
添加Kevin的替换新行字符的答案。 replace
将无效,因为您在将文件解析为字符串数组时已经解析了新的行字符。
您应该在替换后附加字符串。像这样:
String fileString = "";
for(int i = 0; i < lines.length; i++){
lines[i] = lines[i].replace(":", ",");
lines[i] = lines[i].replace(" ", ",");
fileString += lines[i];
}