我正在使用Ruby 2.4。如何从字符串的开头删除非字母?我以为我可以做像
这样的事情name ? name.sub(/^[^a-z]*/i, "") : nil
但这忽略了重音a(“á”)或带有上方点的“u”类型的东西。
我不考虑数字或标点符号字母,所以我希望将它们从字符串的开头删除。
答案 0 :(得分:1)
您可以将非字母与Unicode类别类\P{L}
匹配:
name = name.sub(/\A\P{L}+/, "")
模式详情:
\A
- 字符串锚的开始\P{L}+
- 除字母(+
)以外的一个或多个(\P{L}
)字符。