我正在尝试在 Processing 中用逗号替换冒号和空格
I'm trying to replace the colons and spaces with commas in Processing
我是 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(" ", ",");
}
}
您的代码试图在数组上调用 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(" ", ",");
}
但是此代码并不比第一个选项快,所以实际上您应该坚持使用您最了解的任何代码。
添加到 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];
}
我是 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(" ", ",");
}
}
您的代码试图在数组上调用 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(" ", ",");
}
但是此代码并不比第一个选项快,所以实际上您应该坚持使用您最了解的任何代码。
添加到 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];
}