首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

从可能包含逗号或空格的字符串创建标记数组

,可以通过以下步骤实现:

  1. 首先,将字符串按照逗号或空格进行分割,得到一个字符串数组。
  2. 创建一个空的标记数组,用于存储每个字符串的标记。
  3. 遍历字符串数组,对于每个字符串进行处理:
    • 如果字符串不包含逗号或空格,则将其作为一个标记存入标记数组。
    • 如果字符串包含逗号或空格,则将其按照逗号或空格进行分割,得到一个子字符串数组。
    • 遍历子字符串数组,将每个子字符串作为一个标记存入标记数组。
  • 返回标记数组作为结果。

以下是一个示例的JavaScript代码实现:

代码语言:txt
复制
function createTokenArray(str) {
  var strArray = str.split(/[,\s]+/); // 使用正则表达式分割字符串
  var tokenArray = [];

  for (var i = 0; i < strArray.length; i++) {
    var token = strArray[i];

    if (token.indexOf(',') === -1 && token.indexOf(' ') === -1) {
      tokenArray.push(token);
    } else {
      var subArray = token.split(/[,\s]+/);
      for (var j = 0; j < subArray.length; j++) {
        tokenArray.push(subArray[j]);
      }
    }
  }

  return tokenArray;
}

var str = "apple, banana, orange apple banana,orange";
var tokens = createTokenArray(str);
console.log(tokens);

这段代码将字符串 "apple, banana, orange apple banana,orange" 分割成标记数组 ["apple", "banana", "orange", "apple", "banana", "orange"]。你可以根据实际需求进行修改和扩展。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

SQL函数 JSON_ARRAY

描述 Json_array接受表达式或(更常见的)逗号分隔的表达式列表,并返回包含这些值的JSON数组。Json_array可以在SELECT语句中与其他类型的SELECT-Items结合使用。...返回的JSON数组列被标记为表达式(默认情况下);可以为JSON_ARRAY指定列别名。 选择模式和归类 当前%SelectMode属性确定返回的JSON数组值的格式。...通过更改Select Mode,所有Date和%List元素都以该Select Mode格式的字符串包含在JSON数组中。...%SQLUPPER(JSON_ARRAY(f1,f2))在JSON数组之前插入一个空格,而不是在数组元素之前插入一个空格;因此它不会强制将数字解析为字符串。...JSON数组中不包括占位符。这可能会导致JSON数组具有不同数量的元素。

3.8K20
  • Python 字符串操作

    字符串是 Python 中最常用的数据类型。我们可以使用引号(‘或”)来创建字符串。 创建字符串很简单,只要为变量分配一个值即可。...解码函数 Python有时会将字符串数据表示为原始的二进制数组,而非字符串,尤其是当数据来自外部源(外部文件、数据库或Web)时。Python使用符号b来标识二进制数组。...解码函数将二进制数组转换为字符串或反之: 函数 说明 decode() 将二进制数组转换为字符串 encode() 将字符串转换为二进制数组 许多Python函数都需要将二进制数据转换为字符串,然后再做处理...) 经过这些删除操作后,得到的可能会是一个空字符串!...分割函数 字符串通常包含多个标记符,用空格、冒号和逗号这样的分隔符分割。函数split(delim=’’)使用delim作为分隔符,将字符串s分割为子字符串组成的一个列表。

    91010

    Numpy 修炼之道 (12)—— genfromtxt函数

    ,各个条目不会被删除前导或尾随的空格。...如果列具有名称,我们还可以通过将其名称作为字符串序列或逗号分隔字符串的形式,将其名称指定给usecols参数来选择要导入的列: >>> data = "1 2 3\n4 5 6" >>> np.genfromtxt...因此,我们可能需要确保字段名称不包含任何空格或无效字符,或者不符合标准属性的名称(例如size或shape),这将会混淆解释器。...missing_values 默认情况下,任何空字符串都标记为缺少。我们还可以考虑更复杂的字符串,例如"N/A"或"???"以表示丢失或无效的数据。...missing_values参数接受三种类型的值: 一个字符串或逗号分隔的字符串 此字符串将用作所有列的缺少数据的标记 字符串序列 在这种情况下,每个项目按顺序与列相关联。

    9.7K40

    WordPress 的 PHP 编码规范

    引号 正确的使用单引号和双引号,如果字符串中不包含变量的时候,则使用单引号,永远不要在字符串中转移引号,而是通过切换引号类型,比如: echo '数组的顺序,并且更容易添加新的元素,因为不用关注之前最后一个是否有逗号。...> 删除行尾的空格 删除每行末尾的空格,最好在文件末尾省略 PHP 结束标记,如果没有省略,那就确保删除 PHP 结束标记后面的空格。...空格的用法 始终在逗号后放置空格,并在逻辑运算符、比较运算符、字符串连接符和赋值运算符的两侧放置空格。 x === 23 foo && bar !...$foo = (bool) $bar; 当涉及到数组元素的时候,仅当元素的索引是变量的时候,在索引周围包含空格,例如: $x = $foo['bar']; // 正确 $x = $foo[ 'bar'

    5.5K40

    ElasticSearch权威指南学习(映射和分析)

    全文文本,从另一个角度来说是文本化的数据,比如一篇推文(Twitter的文章)或邮件正文。...“可搜索性”或“查全率” 字符过滤器 首先字符串经过字符过滤器(character filter),它们的工作是在标记化前处理字符串。...一个简单的分词器(tokenizer)可以根据空格或逗号将单词分开 标记过滤 最后,每个词都通过所有标记过滤(token filters),它可以修改词(例如将"Quick"转为小写),去掉词(例如停用词像...映射 为了能够把日期字段处理成日期,把数字字段处理成数字,把字符串字段处理成全文本(Full-text)或精确的字符串值,Elasticsearch需要知道每个字段里面都包含了什么类型。...任何一个字段可以包含零个、一个或多个值,同样对于全文字段将被分析并产生多个词。 言外之意,这意味着数组中所有值必须为同一类型。你不能把日期和字符窜混合。

    1.1K10

    JavaScript中的ES7ES8ES9ES10

    () 方法用来判断一个数组是否包含一个指定的值,根据情况,如果包含则返回 true,否则返回false。...像它们名字那样,这几个函数的主要目的就是填补字符串的首部和尾部,为了使得到的结果字符串的长度能达到给定的长度。你可以通过特定的字符,或者字符串,或者默认的空格填充它。...第二个参数是可选的 padString(填充字符),一个用于填充到源字符串的字符串。默认值是空格。...3.String.trimStart() & String.trimEnd() 有两种新的String方法可从字符串中删除空格: trimStart() 方法从字符串的开头删除空格。...trimEnd() 方法从字符串末尾删除空格。 4.Symbol.Description 当创建符号时,可以提供一个字符串作为描述。在ES10中,有一个获取描述的访问器。

    4.2K40

    linux实战(一)

    /[Mm]y/  匹配包含My或my的行  [^]  匹配不在指定字符组内的任一字符 /[^Mm]y/  匹配包含y,但y之前的那个字符不是M或m的行  ....      ...保存已匹配的字符      1,20s/youyouself/\1r/  标记元字符之间的模式,并将其保存为标签1,之后可以使用\1来引用它。最多可以定义9个标签,从左边开始编号,最左边的是第一个。...$ sed -n '5,/^test/p' example 打印从第五行开始到第一个包含以test开始的行之间的所有行。...字符串必须用双引号引用,参数用逗号分隔。如果没有逗号,参数就串联在一起而无法区分。这里,逗号的作用与输出文件的分隔符的作用是一样的,只是后者是空格而已。...ARGV 包含命令行参数的数组。 CONVFMT 数字转换格式(默认值为%.6g) ENVIRON 环境变量关联数组。 ERRNO 最后一个系统错误的描述。

    2.2K10

    一个yml文件居然能玩出这么多花样!

    每个清单(数组)成员以单行表示,并用短杠+空白(- )起始。或使用方括号([]),并用逗号+空白(, )分开成员。 每个散列表的成员用冒号+空白(: )分开键值和内容。...或使用大括号({ }),并用逗号+空白(, )分开。 字符串值一般不使用引号,必要时可使用,使用双引号表示字符串时,会转义字符串中的特殊字符(例如\n)。使用单引号时不会转义字符串中的特殊字符。...大小写敏感 使用缩进表示层级关系,缩进不允许使用tab,只允许空格,因为有可能在不同系统下tab长度不一样 缩进的空格数可以任意,只要相同层级的元素左对齐即可 在单一文件中,可用连续三个连字号(—)区分多个文件...'#'表示注释,可以出现在一行中的任何位置,单行注释 在使用逗号及冒号时,后面都必须接一个空白字符,所以可以在字符串或数值中自由加入分隔符号(例如:5,280或http://www.wikipedia.org...,如下: person: {name: 陈皮, age: 18, man: true} 数组 可以用短横杆加空格 -开头的行组成数组的每一个元素,如下的address字段: person: name

    1.2K30

    一个 yml 文件居然能玩出这么多花样!

    每个清单(数组)成员以单行表示,并用短杠+空白(- )起始。或使用方括号([]),并用逗号+空白(, )分开成员。 每个散列表的成员用冒号+空白(: )分开键值和内容。...或使用大括号({ }),并用逗号+空白(, )分开。 字符串值一般不使用引号,必要时可使用,使用双引号表示字符串时,会转义字符串中的特殊字符(例如\n)。使用单引号时不会转义字符串中的特殊字符。...大小写敏感 使用缩进表示层级关系,缩进不允许使用tab,只允许空格,因为有可能在不同系统下tab长度不一样 缩进的空格数可以任意,只要相同层级的元素左对齐即可 在单一文件中,可用连续三个连字号(—)区分多个文件...'#'表示注释,可以出现在一行中的任何位置,单行注释 在使用逗号及冒号时,后面都必须接一个空白字符,所以可以在字符串或数值中自由加入分隔符号(例如:5,280或http://www.wikipedia.org...,如下: person: {name: 陈皮, age: 18, man: true} 数组 可以用短横杆加空格 -开头的行组成数组的每一个元素,如下的address字段: person: name

    1.6K40

    SAPCAR 压缩解压软件的使用方法

    SAPCAR 是 SAP 公司使用的压缩解压软件,从 SAP 网站下载的补丁包和小型软件基本都是扩展名为 car 或 sar 的,它们都可以用 SAPCAR 来解压。...) -X FILE :获得从 FILE 中排除的名称 示例: 用当前目录的所有文件创建档案,包括点文件: SAPCAR -cvf MY.SAR ....如果所有档案路径中都不包含空格,这个清单必须用空格或逗号分隔;例如: SAPCAR -xvf "ARCHIVE1.SAR ARCHIVE2.SAR" 如果至少有一个档案路径中包含空格,这个清单则必须用逗号分隔...创建:除非逗号是路径的一部分,否则一定不能在末尾包含逗号;例如: SAPCAR -cvf "ARCHIVE WITH BLANK.SAR" * 提取/验证/列表:必须追加一个逗号;例如:...用 # 做为第一个非空格字符的行会被 SAPCAR 忽略(同样,只包含空格的行也 会被忽略)。 如果在指定文件中插入一个路径名,则带有路径权限的完整路径会被包含在档案 中。

    1.4K20

    程序常用配置文件格式介绍

    (整数或浮点数) 字符串(在双引号中) 逻辑值(true 或 false) 数组(在方括号中) 对象(在花括号中) null JSON 对象在花括号中书写,对象可以包含多个名称/值对,使用逗号分隔: {...Xml)开始 名称不能包含空格 名称不能使用保留的字词 3.2 XML 实例 下面以 XML 表示一个简单的后台服务配置: <?...key = "value" 值必须是这些类型:字符串,整数,浮点数,布尔值,日期时刻,数组或行内表。不指定值是有误的。 键名可以是裸露的,引号引起来的,或点分隔的。...# 在 Unix 系统,上面的多行字符串可能等同于: str2 = "玫瑰是红色的\n紫罗兰是蓝色的" # 在 Windows 系统,它可能等价于: str3 = "玫瑰是红色的\r\n紫罗兰是蓝色的...数组的最后一个值后面可以有终逗号(也称为尾逗号)。值和结束括号前可以存在任意数量的换行和注释。

    3.2K30

    C++ fscanf函数分割读取文本文件

    从流 stream 读取格式化输入,头文件是,  fscanf遇到空格和换行时结束。  声明  下面是 fscanf() 函数的声明。 ...format -- 这是 C 字符串,包含了以下各项中的一个或多个:空格字符、非空格字符 和 format 说明符。...char *d十进制整数:数字前面的 + 或 - 号是可选的。int *e,E,f,g,G浮点数:包含了一个小数点、一个可选的前置符号 + 或 -、一个可选的后置字符 e 或 E,以及一个十进制数字。...两个有效的实例 -732.103 和 7.12e4float *o八进制整数。int *s字符串。这将读取连续字符,直到遇到一个空格字符(空格字符可以是空白、换行和制表符)。...int * 附加参数 -- 根据不同的 format 字符串,函数可能需要一系列的附加参数,每个参数包含了一个要被插入的值,替换了 format 参数中指定的每个 % 标签。

    1.9K00

    正则表达式的使用

    注意,这会改变返回数组中的值, 每个元素都是由匹配子串作为第0个元素,它相对目标字符串的偏移量作为第1个元素的数组。这个标记只能用于 preg_split()。..., {n}, {n,}, {n,m}) 后面时,匹配模式是非贪婪的。非贪婪模式尽可能少的匹配所搜索的字符串,而默认的贪婪模式则尽可能多的匹配所搜索的字符串。例如,对于字符串 “oooo”,’o+?’...预查不消耗字符,也就是说,在一个匹配发生后,在最后一次匹配之后立即开始下一次匹配的搜索,而不是从包含预查的字符之后开始。 (?!...预查不消耗字符,也就是说,在一个匹配发生后,在最后一次匹配之后立即开始下一次匹配的搜索,而不是从包含预查的字符之后开始。 (?...例如,”o{1,3}” 将匹配 “fooooood” 中的前三个 o。’o{0,1}’ 等价于 ‘o?’。请注意在逗号和两个数之间不能有空格。 非打印字符 \cx 匹配由x指明的控制字符。

    92320

    API、String、StringBuilder

    类 : ​ next() : 遇到了空格, 就不再录入数据了 , 结束标记: 空格, tab键 ​ nextLine() : 可以将数据完整的接收过来 , 结束标记: 回车换行符..., 就不再录入数据了 结束标记: 空格, tab键 nextLine() : 可以将数据完整的接收过来 结束标记:...字符串一旦被创建,值就不可能发生改变。若是字符串内容发生了改变,那么一定是创建了一个新的字符串的对象。 字符串是由一个个的字符组成的,比如:"abc" --> 'a' 'b' 'c'。...) String[] split(String regex) :根据传入的字符串作为规则进行切割 将切割后的内容存入字符串数组中,并将字符串数组返回 从得到的字符串数组中取出元素内容,通过Student...) 根据开始和结束索引进行截取,得到新的字符串(包含头,不包含尾) ​ public String substring(int beginIndex) 从传入的索引处截取,截取到末尾,得到新的字符串

    63850

    DFA算法-简易Java敏感词过滤(含源文件和上万敏感词列表)

    第二个字符是S,则在子树”C”下面创建”S”接下来是D,N,创建完N就可以结束了。如此循环,就可以创建出类似上图的多叉树。...这种算法会出现一个小意外,如果一个敏感词恰好是另一个敏感词的前缀,就会导致较短的敏感词被长的敏感词覆盖,这种情况可以通过添加结束标记来区分。...不过我的想法是,如果出现这种情况,直接把前缀屏蔽掉就行了,这样后半段也不算敏感词了(好像实际工作中不能这样做),因此我没有添加结束标记。...14596个敏感词(可能有个别重复),在测试代码里生成了一个长度为1000的字符串,总共包含100个相同敏感词,敏感词中间有逗号隔开 重复执行过滤10000次,并打印结果和时间,结果如下 可以看到程序成功地过滤了敏感词...,并保留了逗号,总耗时335毫秒,平均每次过滤仅需要0.03毫秒,并且是在上万个敏感词和超长字符串的情况下。

    7.7K32

    JavaScript 实现 JSON 解析器

    圆圈(例如:左花括号({),英文逗号(,),英文冒号(:),右花括号(}))是字符,方框(例如:空格(whitespace)、字符串(string)和值(value))是另一种语法的占位符。...如果要解析“空格”,我们需要查看空格的语法。 因此,对于一个对象,从左边开始第一个字符必须是一个左花括号。...我忘了加上一个英文逗号,,,只出现在我们开始第二次循环空格 -> 字符串 -> 空格 -> : -> ...之前。...图片来源:https://www.json.org/img/value.png 值是以“空格”开始,然后是以下任意一种:“字符串”,“数字”,“对象”,“数组”,“真”,“假”或“空”,然后以“空格”结尾...让我们处理两种最常见的错误情况: •意外的标记•字符串意外结束 意外的标记 字符串意外结束 在所有的while循环中,比如parseObject中while循环: function fakeParseJSON

    3.5K30
    领券