【问题标题】:How to split on every word and white space?如何拆分每个单词和空格?
【发布时间】:2019-05-22 15:21:28
【问题描述】:

我正在尝试用空格分割简单的 contentText(来自 span 元素),但由于某种原因它没有分割所有空格。

我的算法与输入文本等其他元素一起正常工作。现在做了几个小时的研究,但我找不到我需要的结果。

var list_topic = table.find('.list_topic')[0].textContent;
var check_topic = list_topic.split(" ");
console.log(check_topic);

上面的代码返回:

["    ","word ","word    ","word","  ","word "]

所需的输出”

["","","","","","word","","word","","","","","word","","","","word",""]```

【问题讨论】:

  • 请同时添加list_topic
  • 清晰的问题陈述包括输入(原始字符串)、代码和所需输出。您已经获得了代码和所需的输出,但如果没有 输入,我们将无能为力。
  • /\s/g 上拆分或手动检测空白。
  • @NinaScholz ` word word word word `是list_topic,如果你把数组重新连接在一起,用空格分隔。
  • @ScottMarcus, split 始终是全局

标签: javascript arrays regex string split


【解决方案1】:

你可以使用一个寻找空白的正则表达式。

var string = '    word  word word      \nword';

console.log(string.split(/\s/));

【讨论】:

    【解决方案2】:

    试试这个:

    var check_topic = list_topic.split("");
    for (var i = 0; i < check_topic) {
        if (check_topic[i] == " ") {
            check_topic[i] = "";
        } else if (check_topic[i-1] != "") {
            check_topic[i-1] += check_topic[i];
            check_topic.splice(i,1);
        }
    }
    

    这需要一个字符串并按每个字符分割它。如果它是空格,则将其删除并使其成为“”而不是“”。然后,如果不是,并且数组中的最后一个不是,它将加入 2。所以,类似 word 的东西看起来像这样:

    [" ", "w","o","r","d"]
    ["", "w","o","r","d"]
    ["", "wo","r","d"]
    ["", "wor","d"]
    ["", "word"]
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-12-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-12-30
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多