使用带有异常的UTF-8字符串将Ruby中的第一个字母大写

Joh*_*han 4 ruby regex

我想将UTF-8字符串的每个单词大写.但是,我需要函数忽略单词开头的一些特殊字符,比如"( - .,".该函数将用于大写歌曲标题,如下所示:

marko,gabriel boni,简单杰克 - 召回(原创混音)

......会输出:

Marko,Gabriel Boni,简单杰克 - 召回(原创混音)

它还应该能够利用像"å">"Å"这样的UTF-8字符."é">"É".

Dav*_*ric 8

有没有什么为什么来自unicode库的 Unicode :: capitalize方法不适合您的需求?

irb(main):013:0> require 'unicode'
=> true
irb(main):014:0> begin Unicode::capitalize 'åäöéèí' rescue $stderr.print "unicode error\n" end
=> "Åäöéèí"
irb(main):015:0> begin Unicode::capitalize '-åäöéèí' rescue $stderr.print "unicode error\n" end 
=> "-åäöéèí"
Run Code Online (Sandbox Code Playgroud)