我有这种类型的字符串
str = "\n\t\t\t\t\t\t\t\tRemovable neck strapBelt loop\n \n \n \n\t\t\t\t\t\t\"
想转换成
Removable neck strap Belt loop
注意strap
,Belt
是如何分开的。
到目前为止,我已经完成了这个
str.gsub(/\n|\t/,'').strip
给了我
Removable neck strapBelt loop
但无法在strapBelt
之间进行分割。
答案 0 :(得分:2)
使用这个:
str = str.gsub(/(?<=[a-z])([A-Z])/, ' \\1')
此处检查是否有任何大写字母[A-Z]
正好位于较小的字母[a-z]
之后(使用正向后方(?<=[a-z])
)。如果是,则将其替换为空格和大写单词(在\\1
中作为捕获的组)本身。
答案 1 :(得分:2)
str.gsub(/([a-z])([A-Z])/, '\1 \2').strip