の配列内の特殊文字を削除します。arr
は、あなたの配列である場合以下に示すように、私は配列を持つルビー
[
[
["Mrs. Brain Bauch", "Vernice Ledner"],
["Robb Ratke", "Amaya Jakubowski"],
["Lindsey Cremin III", "Harvey Fisher"],
["Daniela Schneider", "Benny Schumm"]
]
]
の配列内の特殊文字を削除します。arr
は、あなたの配列である場合以下に示すように、私は配列を持つルビー
[
[
["Mrs. Brain Bauch", "Vernice Ledner"],
["Robb Ratke", "Amaya Jakubowski"],
["Lindsey Cremin III", "Harvey Fisher"],
["Daniela Schneider", "Benny Schumm"]
]
]
require 'json'
input = [[
"[\"\", \"Mrs. Brain Bauch\", \"Vernice Ledner\"]",
"[\"\", \"Robb Ratke\", \"Amaya Jakubowski\"]",
"[\"\", \"Lindsey Cremin III\", \"Harvey Fisher\"]",
"[\"\", \"Daniela Schneider\", \"Benny Schumm\"]"
]]
[input.first.map { |l| JSON.parse l }.map { |a| a.reject &:empty? }]
#⇒ [[
# ["Mrs. Brain Bauch", "Vernice Ledner"],
# ["Robb Ratke", "Amaya Jakubowski"],
# ["Lindsey Cremin III", "Harvey Fisher"],
# ["Daniela Schneider", "Benny Schumm"]
# ]]
私よりも優れています!配列ネストのレベルがもう1つあることに注意してください。 btw、あなたは 'require 'json''をRailsで必要としますか? –
いいえ、Rails 'require 'json''は必要ではありませんが、とにかくそれを追加します。 – mudasobwa
@mudasobwaこれも私のために働いた。これはより良い実装なので、私はこれを私の答えとして受け入れています –
:私は、これは、以下に示す配列構造に変換するにはどうすればよい
[
[
"[\"\", \"Mrs. Brain Bauch\", \"Vernice Ledner\"]",
"[\"\", \"Robb Ratke\", \"Amaya Jakubowski\"]",
"[\"\", \"Lindsey Cremin III\", \"Harvey Fisher\"]",
"[\"\", \"Daniela Schneider\", \"Benny Schumm\"]"
]
]
:で
r =/
(?<=\") # match `\"` in a positive lookbehind
[A-Z] # match a capital letter
[a-z\.\s]+ # match a letter, period or space one or more times
/ix # case-insenitive (i) and free-spacing (x) regex definition modes
[arr.first.map { |s| s.scan r }]
#=> [[["Mrs. Brain Bauch", "Vernice Ledner"],
# ["Robb Ratke", "Amaya Jakubowski"],
# ["Lindsey Cremin III", "Harvey Fisher"],
# ["Daniela Schneider", "Benny Schumm"]]]
ちょっとキャリー!これは私のために働いた。 –
Ahkshaey、私はあなたがこれを助けてくれてうれしいですが、うれしいです。質問を投稿してからわずか20分で私の回答を選択しました。それは、他の回答を妨げる可能性があります。これはもっと面白いかもしれませんが、読者の中にはまだ答えを出している人がいれば、投稿する時間を与えるべきです。私の忠告は、今のところ緑茶を取り除き、選択する前に少なくとも2時間待つことです。 –
外側[]結果それはあなたの意図ですか? –
@KeithBennettあり –
最初のサンプルコードの後ろにスラッシュがいくつか表示されていますが、実際には2番目のサンプルコードで配列を出力しています。 –