gpt4 book ai didi

ruby - 如何检查字符串是否包含带重音的拉丁字符,如 Ruby 中的 é?

转载 作者:数据小太阳 更新时间:2023-10-29 07:52:21 25 4
gpt4 key购买 nike

给定:

str1 = "é"   # Latin accent
str2 = "囧" # Chinese character
str3 = "ジ" # Japanese character
str4 = "e" # English character

如何区分 str1(拉丁重音字符)和其余字符串?

更新:

给定

str1 = "\xE9" # Latin accent é actually stored as \xE9 reading from a file

答案会有什么不同?

最佳答案

我会先用 gsub 去掉所有纯 ASCII 字符,然后用正则表达式检查是否还有任何拉丁字符。这应该检测带重音的拉丁字符。

def latin_accented?(str)
str.gsub(/\p{Ascii}/, "") =~ /\p{Latin}/
end

latin_accented?("é") #=> 0 (truthy)
latin_accented?("囧") #=> nil (falsy)
latin_accented?("ジ") #=> nil (falsy)
latin_accented?("e") #=> nil (falsy)

关于ruby - 如何检查字符串是否包含带重音的拉丁字符,如 Ruby 中的 é?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31061869/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com