Arrays 在处理过程中拆分令牌
下面是一个简短的代码,用于计算单词和更多单词,但我面临一个奇怪的问题: 当我运行它时,一些原始字符串的单词不会出现在屏幕上!?为什么 我是不是忘了什么东西,用的是分裂代币?!事先非常感谢你的帮助 祝你一切顺利 LArrays 在处理过程中拆分令牌,arrays,string,split,token,processing,Arrays,String,Split,Token,Processing,下面是一个简短的代码,用于计算单词和更多单词,但我面临一个奇怪的问题: 当我运行它时,一些原始字符串的单词不会出现在屏幕上!?为什么 我是不是忘了什么东西,用的是分裂代币?!事先非常感谢你的帮助 祝你一切顺利 L IntDict计数; 字符串[]标记; 无效设置(){ 大小(10001000); 背景(0); 计数=新的IntDict(); 字符串[]行={ “要是你有时能注意一下我就好了。”, “我不仅仅是一个照顾者,我还需要苏蒙温柔地拥抱我。” }; 字符串alltext=join(行“”)
IntDict计数;
字符串[]标记;
无效设置(){
大小(10001000);
背景(0);
计数=新的IntDict();
字符串[]行={
“要是你有时能注意一下我就好了。”,
“我不仅仅是一个照顾者,我还需要苏蒙温柔地拥抱我。”
};
字符串alltext=join(行“”);
令牌=拆分令牌(alltext,“\n\”;.?!”():\n”);
for(int i=0;i
您在屏幕上呈现的不是分割的标记,而是唯一的单词(计数
”键)
如果调用printary(tokens);
您将在控制台中看到每个单词出现,包括重复的单词:
IntDict counts;
String [] tokens;
void setup() {
size(1000, 1000);
background(0);
counts = new IntDict();
String [] lines = {"If only you were paying a bit attention to me sometimes.",
"I am not just a care giver I also need soemone to hug me tenderly."};
String alltext = join(lines, " ");
tokens = splitTokens(alltext, "\n\";.?!'():\n ");
println("with duplicates");
printArray(tokens);
for (int i =0; i<tokens.length; i++) {
String word = tokens[i].toLowerCase();
if (counts.hasKey(word)) {
counts.increment(word);
println("\tfound duplicate", word);
} else {
counts.set(word, 1);
}
//println(word);
}
String []keys = counts.keyArray();
println("without duplicates");
printArray(keys);
for (int i=0; i<keys.length; i++) {
textSize(20);
float x = 50;
float y= 50+15*i;
text(keys[i], x, y);
}
}
void draw() {
}
IntDict计数;
字符串[]标记;
无效设置(){
大小(10001000);
背景(0);
计数=新的IntDict();
String[]lines={“要是你有时能稍微注意一下我就好了。”,
“我不仅仅是一个照顾者,我还需要苏蒙温柔地拥抱我。”;
字符串alltext=join(行“”);
令牌=拆分令牌(alltext,“\n\”;.?!”():\n”);
println(“有副本”);
打印数组(令牌);
for(int i=0;我非常感谢你的回答!我注意到只有重复的单词没有出现,所以我按照你的建议在标记上写了第二个for循环,效果很好;)再次感谢您宝贵的帮助!很高兴提供帮助。如果答案是您问题的解决方案,请用绿色复选标记。谢谢:)谢谢乔治,我现在做了;)对不起,我是新来的……非常感谢,我将尝试以更好的方式编辑我的代码+文本,就像您下次做的那样!