У меня есть эта строка: This is my example #foo and #bar
Как удалить элементы массива из строки?
И этот массив: ['#foo','#bar']
И это строка, я хотел бы иметь: This is my example and
Thx!
У меня есть эта строка: This is my example #foo and #bar
Как удалить элементы массива из строки?
И этот массив: ['#foo','#bar']
И это строка, я хотел бы иметь: This is my example and
Thx!
Определите строку и массив:
s = "This is my example #foo and #bar"
a = ['#foo', '#bar']
Тогда:
answer_array = (s.split(" ") - a).join(" ")
дает ответ:
=> "This is my example and"
Следующая сохраняющий пробельные:
str = 'This is my example #foo and #bar'
arr = ['#foo','#bar']
r = Regexp.new arr.each_with_object('') { |s,str| str << s << '|' }[0..-2]
#=> /#foo|#bar/
str.gsub(r,'')
#=> "This is my example and "
Другой пример (колонка метки):
str = " Name Age Ht Wt"
arr = [' Age', ' Wt']
r = Regexp.new arr.each_with_object('') { |s,str| str << s << '|' }[0..-2]
#=>/ Age| Wt/
str.gsub(r,'')
#=> " Name Ht"
Thx, это работает, как предполагалось, и обрезает все ненужные пробелы! –
Это не работает, если '' 'содержит два или более последовательных пробела или элемент' a' содержит ведущее или конечное пространство. Например, предположим, '' 'содержит заголовки столбцов:' s = "Name Age Ht Wt" и 'a = ['Age', 'Wt']'. Затем 'answer_array # =>" Name Age Ht Wt "'. –