【发布时间】:2016-06-23 02:41:01
【问题描述】:
我想将任意字符串转换为字符串数组。最好用一个例子来解释转换。如果字符串是"8737928" 我想返回以下数组。
#=> ["8737928",
# "8.737928", "87.37928", "873.7928", "8737.928", "87379.28", "873792.8",
# "8.7.37928", "8.73.7928", "8.737.928", "8.7379.28", "8.73792.8",
# "87.3.7928", "87.37.928", "87.379.28", "87.3792.8", "873.7.928",
# "873.79.28", "873.792.8", "8737.9.28", "8737.92.8", "87379.2.8",
# "8.7.3.7928", "8.7.37.928", "8.7.379.28", "8.7.3792.8", "8.73.7.928",
# "8.73.79.28", "8.73.792.8", "8.737.9.28", "8.737.92.8", "8.7379.2.8",
# "87.3.7.928", "87.3.79.28", "87.3.792.8", "87.37.9.28", "87.37.92.8",
# "87.379.2.8", "873.7.9.28", "873.7.92.8", "873.79.2.8", "8737.9.2.8",
# "8.7.3.7.928", "8.7.3.79.28", "8.7.3.792.8", "8.7.37.9.28", "8.7.37.92.8",
# "8.7.379.2.8", "8.73.7.9.28", "8.73.7.92.8", "8.73.79.2.8", "8.737.9.2.8",
# "87.3.7.9.28", "87.3.7.92.8", "87.3.79.2.8", "87.37.9.2.8", "873.7.9.2.8",
# "8.7.3.7.9.28", "8.7.3.7.92.8", "8.7.3.79.2.8", "8.7.37.9.2.8",
# "8.73.7.9.2.8", "87.3.7.9.2.8",
# "8.7.3.7.9.2.8"]
如您所见,字符串中插入了 0 到 6 个 ("8737928".size-1 #=> 6) 小数点,在 1 到 6 之间的每个索引组合处。由于小数点可能会或可能不会跟随除最后一个字符之外的每个字符,该数组包含2**6 #=> 64 元素。
我该怎么做?
【问题讨论】:
-
你想循环这个还是拆分一个字符串?
-
我想循环兄弟。我想要这样的所有输出。对不起,因为我不擅长英语
-
感谢每个人的回答是一个很好的姿态,但我认为这是不明智的。首先,如果每个人都受到感谢,即使是回答不佳的作者也没有多大意义。其次,如果有人给出了一个非常糟糕的答案,而你却不感谢他们,你还不如说,“你的答案很糟糕”。第三,对于阅读 cmets 的每个人来说,这都是(次要的)时间浪费。看看其他问题,你会发现它只是没有完成(而且不是预期的)。
-
谢谢。我是初学者。我会小心的。
-
我相信我现在明白了这个问题。问题是您没有显示足够的数组元素以供读者理解您想要的内容。我冒昧地编辑了这个问题。我相信你不介意,我所写的内容准确地描述了你的意图。我已经投票重新提出这个问题。我相应地修改了我的答案。