R:Unicode 字符串的 Perl 正则表达式
R: Perl Regex for unicode character string
我正在尝试删除散布在我的数据中的一些 unicode 字符串。
Sample data <- "['oguma', 'makeup', u'\u0e27\u0e34\u0e15\u0e32\u0e21\u0e34\u0e19\u0e2b\u0e19\u0e49\u0e32\u0e40\u0e14\u0e47\u0e01', 'jeban',]"
我想捕获以 u'\ 开头并在末尾包含逗号的所有内容。
我想从以下开始:
gsub("u/\/\'....
+ 包括下一个逗号在内的所有内容,但我不确定如何说第二部分。
结果为:
Sample data <- "['oguma', 'makeup', 'jeban',]"
建议?
这是一个正则表达式解决方案,它将删除以 u'
开头的子字符串,后跟非 ASCII 字符(1 个或多个)并以逗号(可选,1 或 0)和空格(也可选,0个或更多):
data <- "['oguma', 'makeup', u'\u0e27\u0e34\u0e15\u0e32\u0e21\u0e34\u0e19\u0e2b\u0e19\u0e49\u0e32\u0e40\u0e14\u0e47\u0e01', 'jeban',]"
gsub("u'[^[:ascii:]]+',?\s*", "", data, perl=T)
## => [1] "['oguma', 'makeup', 'jeban',]"
请注意,示例中类似 \u0e27
的子字符串只是非 ASCII 字符 - 如果您打印字符串 - 将正确显示为那些 letters/symbols(此处,u'วิตามินหน้าเด็ก'
,泰语 "vitamins for kids" - Google 翻译)。
我正在尝试删除散布在我的数据中的一些 unicode 字符串。
Sample data <- "['oguma', 'makeup', u'\u0e27\u0e34\u0e15\u0e32\u0e21\u0e34\u0e19\u0e2b\u0e19\u0e49\u0e32\u0e40\u0e14\u0e47\u0e01', 'jeban',]"
我想捕获以 u'\ 开头并在末尾包含逗号的所有内容。
我想从以下开始:
gsub("u/\/\'....
+ 包括下一个逗号在内的所有内容,但我不确定如何说第二部分。
结果为:
Sample data <- "['oguma', 'makeup', 'jeban',]"
建议?
这是一个正则表达式解决方案,它将删除以 u'
开头的子字符串,后跟非 ASCII 字符(1 个或多个)并以逗号(可选,1 或 0)和空格(也可选,0个或更多):
data <- "['oguma', 'makeup', u'\u0e27\u0e34\u0e15\u0e32\u0e21\u0e34\u0e19\u0e2b\u0e19\u0e49\u0e32\u0e40\u0e14\u0e47\u0e01', 'jeban',]"
gsub("u'[^[:ascii:]]+',?\s*", "", data, perl=T)
## => [1] "['oguma', 'makeup', 'jeban',]"
请注意,示例中类似 \u0e27
的子字符串只是非 ASCII 字符 - 如果您打印字符串 - 将正确显示为那些 letters/symbols(此处,u'วิตามินหน้าเด็ก'
,泰语 "vitamins for kids" - Google 翻译)。