2017-03-06 26 views
-1

私はRuby 2.4を使用しています。文字列の文字数をどのように数えますか?これには、アクセント付きの "a"などが含まれます。だから、例えば文字列内の文字数はどのように数えますか?

"A." 

のように見える文字列は「文字」1を持っており、

"123ABC" 

のような文字列は3を持っています。

+0

正規表現? – epascarello

+3

リンク先のページ「[mcve]」と「[Stack Overflowユーザーにはどの程度の研究努力が必要か](http://meta.stackoverflow.com/questions/261592)」を含む「[ask]」をお読みください。あなたの努力の証拠を見たいと思っています何を試しましたか?何かを見つけましたか?何かを見つけましたか?それは助けになりませんでしたか?コードを書こうとしましたか? –

答えて

7

ユニコード文字を使用するには、\p{}構成を使用できます。詳細についてはRegexp docsを確認してください。

例:

'Aèméôfg1a'.scan(/[\p{L}]/).count 
=> 8 
'A.èmôfg1a'.scan(/[\p{L}]/).count 
=> 7 
+6

...またはPOSIXのブラケット式を使用してください: '' Aeméôfg1a'.scan(/ [[:alpha:]] /)。count#=> 8'。 –

関連する問題