我有一个数组word_array
,我想在其中添加句子的所有单词。例如:
word_array = []
sentence_1 = "my first sentence"
sentence_2 = "my second sentence"
然后:
word_array = ["my", "first", "sentence", "my", "second", "sentence"]
如果我使用split()
:
word_array << sentence_1.split
word_array << sentence_2.split
我明白了:
word_array = [["my", "first", "sentence"], ["my", "second", "sentence"]]
如何避免在这里使用2D数组?
答案 0 :(得分:5)
使用concat
。
word_array.concat(sentence_1.split)
word_array.concat(sentence_2.split)
它比使用+
更有效,后者创建了一个新数组。
答案 1 :(得分:4)
一种方法是每次使用+=
将元素附加到word_array
的末尾:
word_array += sentence_1.split
# => ["my", "first", "sentence"]
word_array += sentence_2.split
# => ["my", "first", "sentence", "my", "second", "sentence"]
答案 2 :(得分:3)
只需使用sentence_1.split + sentence_2.split
我认为您可能会将+
和<<
混淆为数组。 +
是合并数组,<<
将参数作为数组的元素。
答案 3 :(得分:1)
你可能有多个句子,你可能会以数组的形式得到它。在这种情况下,以及如果你只有几句话,下面的解决方案将是恰当的。
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ns2:o xmlns:ns2="info.source4code.jaxb.model">
<test type="String">aaaa</test>
<intTest type="Integer">100</intTest>
<abc type="Integer">2</abc>
</ns2:o>