文字列をバイトサイズで切り詰めるのって
Rubyで文字列をバイトサイズで切り詰めるのってどうするんだっけ。
或いは byte単位で切り出すとか、取り出すとか。
志村 on Twitter: "Rubyで文字列をバイトサイズで切り詰めるのってどうするんだっけ"
@hs9587
Rubyで文字列をバイトサイズで切り詰めるのってどうするんだっけ
( Φ _⊞) on Twitter: "@hs9587 byteslice"
@n0kada
@hs9587 byteslice
志村 on Twitter: "@n0kada それではマルチバイト文字のかけらが"
@hs9587
@n0kada それではマルチバイト文字のかけらが
( Φ _⊞) on Twitter: "@hs9587 scrub"
@n0kada
@hs9587 scrub
志村 on Twitter: "@n0kada byteslice(0,n).scrub('') でなんとかなりそう、ありがとうございます"
@hs9587
@n0kada byteslice(0,n).scrub('') でなんとかなりそう、ありがとうございます
1.8以前では一度 slice でサイズで切って、もう一度 slice で正規表現で文字だけ取り出す (http://weboo-returns.com/blog/substring-from-multibyte-string-in-ruby/ ほか)とかあったけど、最近の Rubyではそのマルチバイト文字のかけらのところでエラーになってしまう。
というあたり、ご教示あったように Ruby 2.1. では String#scrub class String (Ruby 2.1.0) でかけらをケアすれば良さそう。
<文字列>.byteslice(0, <バイト数>).scrub('')