Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Arrays 在处理过程中拆分令牌_Arrays_String_Split_Token_Processing - Fatal编程技术网

Arrays 在处理过程中拆分令牌

Arrays 在处理过程中拆分令牌,arrays,string,split,token,processing,Arrays,String,Split,Token,Processing,下面是一个简短的代码,用于计算单词和更多单词,但我面临一个奇怪的问题: 当我运行它时,一些原始字符串的单词不会出现在屏幕上!?为什么 我是不是忘了什么东西,用的是分裂代币?!事先非常感谢你的帮助 祝你一切顺利 L IntDict计数; 字符串[]标记; 无效设置(){ 大小(10001000); 背景(0); 计数=新的IntDict(); 字符串[]行={ “要是你有时能注意一下我就好了。”, “我不仅仅是一个照顾者,我还需要苏蒙温柔地拥抱我。” }; 字符串alltext=join(行“”)

下面是一个简短的代码,用于计算单词和更多单词,但我面临一个奇怪的问题:

当我运行它时,一些原始字符串的单词不会出现在屏幕上!?为什么

我是不是忘了什么东西,用的是分裂代币?!事先非常感谢你的帮助

祝你一切顺利

L

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循环,效果很好;)再次感谢您宝贵的帮助!很高兴提供帮助。如果答案是您问题的解决方案,请用绿色复选标记。谢谢:)谢谢乔治,我现在做了;)对不起,我是新来的……非常感谢,我将尝试以更好的方式编辑我的代码+文本,就像您下次做的那样!