169 похожих чатов

Помогите, Дано произвольный массив с именами в некоторых именах используется "-" нужно что

бы после "-" шла заглавная буква
x = ["Allen Rick", "Bacon Don", "Bergman Jack", "Bice Stephanie", "Biggs Andy", "Bishop Dan", "Boebert Lauren", "Buck Ken", "Budd Ted", "Burchett Tim", "Carter Earl", "Cawthorn Madison", "Cloud Michael", "Davidson Warren", "Davis Rodney", "Desjarlais Scott", "Diaz-balart Mario", "Donalds Byron", "Duncan Jeff", "Dunn Neal", "Ellzey Jake", "Fischbach Michelle", "Franklin C.", "Garbarino Andrew", "Garcia Mike", "Gohmert Louie", "Gonzales Tony", "Good Bob", "Gosar Paul", "Graves Garret", "Griffith H.", "Grothman Glenn", "Guthrie Brett", "Harris Andy", "Harshbarger Diana", "Hern Kevin", "Herrell Yvette", "Hice Jody", "Higgins Clay", "Hill J.", "Hinson Ashley", "Jackson Ronny", "Jacobs Chris", "Johnson Bill", "Johnson Mike", "Joyce John", "Kelly Trent", "Kim Young", "Lesko Debbie", "Letlow Julia", "Malliotakis Nicole", "Mckinley David", "Meijer Peter", "Meuser Daniel", "Miller-meeks Mariannette", "Miller Carol", "Miller Mary", "Moolenaar John", "Mooney Alexander", "Moore Blake", "Murphy Gregory", "Nehls Troy", "Palazzo Steven", "Pence Greg", "Reschenthaler Guy", "Rice Tom", "Rodgers Cathy", "Rogers Mike", "Smith Christopher", "Smucker Lloyd", "Spartz Victoria", "Steube W.", "Tiffany Thomas", "Van Duyne Beth", "Walberg Tim", "Weber Randy", "Westerman Bruce", "Wittman Robert"]
пытаюсь решить, на выходе то же что и было
def co_(x)
if x.nil? || x.join == ""
return nil
elsif x.join.include?("-")
x.map do |e|
if e.include?("-")
e = e.split("-")
e.map { |b| b = b.titleize}
e = e.join("-")
end
end
puts x
return x
end
end

3 ответов

23 просмотра

Вам нужно сделать перебор и заменить букву. Используйте map и gsub с позитивным просмотром назад. Что-то типа такого: arr.map { |str| str.gsub(/(?<=-)\w/) { |i| i.capitalize} }

Я вот так сделал, говнокод но работает x = ["123n-c123", "Name1 Name2", "Name3-name", "Name4", "Name Name"] def wordupper(array) y = [] for words in array do if words =~ /[-]/ to_get = words.split('') i = 0 b = [] for word in to_get do if word =~ /[-]/ next_chek = i + 1 element = to_get[next_chek] t = element.upcase tire = "-" b << tire b << t to_get.delete_at(i) else b << word end i += 1 end a = b.join('') y << a else y << words end end puts y end wordupper(x) ## 123n-C123 Name1 Name2 Name3-Name Name4 Name Name

Похожие вопросы

Обсуждают сегодня

а через ESC-код ?
Alexey Kulakov
29
30500 за редактор? )
Владимир
47
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
13
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
program test; {$mode delphi} procedure proc(v: int32); overload; begin end; procedure proc(v: int64); overload; begin end; var x: uint64; begin proc(x); end. Уж не знаю...
notme
6
Ребят в СИ можно реализовать ООП?
Николай
33
у вас два процесса. один посылает другому сигнал. у вас есть код обоих процессов? если всё не так - расскажите как оно на самом деле. а именно кто кому чего, есть-ли консоли,...
Karagy
6
вы делали что-то подобное и как? может есть либы готовые? увидел картинку нокода, где всё линиями соединено и стало интересно попробовать то же в ddl на lua сделать. решил с ч...
Victor
8
Карта сайта