【问题标题】:How to create multiple variation array from a string using javascript如何使用javascript从字符串创建多个变体数组
【发布时间】:2012-02-20 07:48:12
【问题描述】:

我有这个字符串:

foo = "moon is.white #small"

我想使用“.”之后的规则将它转换为这个数组。如果前面没有空格,则“#”拆分并添加 &。我在这个帖子中得到了答案:How to Split string with multiple rules in javascript 这就是我得到的,这很棒:

fooArr[0] = ['moon','is','&.white','#small']

我的问题是 - 如何使用这些规则制作字符串的其他变体以获得多变体数组

A.在不同的位置拆分(有时空格会拆分,有时 2 个或更多单词将被视为一个 - 在所有变体中(请注意,如果我不使用“。”或“#”拆分单词,那么我不会添加“&”。

fooArr[1] = ['moon is','&.white','#small']
fooArr[2] = ['moon is.white','#small']
foorArr[3] = ['moon','is.white','#small']
etc...

B.如果有 ”。”或“#”然后我想要它们之间的所有顺序变体——".all#is.good" 可以是——>[.all#is.good] & [.all.good#is] & [.good.all#is] 等...(我希望它与第一条规则的变体相结合,例如[.all,&.good,&#is] & [.all.good,$#is])所以我将具有 A 和 B 的所有组合

最终我需要一个组合 A 和 B 的所有组合的数组(它应该给我很多变化:fooArr[0]..fooArr[X]

我从哪里开始?

【问题讨论】:

    标签: javascript arrays string split


    【解决方案1】:

    使用一系列正则表达式找到所有你想分割字符串的地方,并用“&”替换它。然后在 " " 上拆分。

    或者,使用循环遍历字符串创建替换,如上。然后分裂。

    或者,使用循环遍历字符串并直接构建数组。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-06-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多