首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >R. kana和kanji的混合罗马化

R. kana和kanji的混合罗马化
EN

Stack Overflow用户
提问于 2022-05-09 06:43:15
回答 1查看 166关注 0票数 1

我有一个大的字符向量的日语单词(混合汉字和假名),需要浪漫(罗马吉)。

但是,使用可用的函数(zipangu::str_conv_romanhira()audubon::strj_romanize()),我无法获得所需的结果。

例如,对于北海道(北海道),zipangu::str_conv_romanhira()将其转换为中文拼音,而audubon::strj_romanize()只转换kana字符。

如何将这种混合的kana和kanji文本转换为romaji。

代码语言:javascript
复制
library(zipangu)
library(stringi)
library(audubon)


str_conv_romanhira("北海道", "roman")
#> [1] "běi hǎi dào"

stri_trans_general("北海道", "Any-Latin")
#> [1] "běi hǎi dào"

strj_romanize("北海道")
#> [1] ""
EN

回答 1

Stack Overflow用户

发布于 2022-05-09 09:55:03

没有任何R包,提供音译的日语汉字,我可以看到(至少没有一个,目前是在CRAN)。但是,很容易通过R使用python模块皮卡卡西来实现这一点:

代码语言:javascript
复制
library(reticulate)

py_install("pykakasi")  # Only need to install once

# Make module available in R
pykakasi <- import("pykakasi")

# Alias the convert function for convenience
convert <- pykakasi$kakasi()$convert

convert("北海道")

[[1]]
[[1]]$orig
[1] "北海道"

[[1]]$hira
[1] "ほっかいどう"

[[1]]$kana
[1] "ホッカイドウ"

[[1]]$hepburn
[1] "hokkaidou"

[[1]]$kunrei
[1] "hokkaidou"

[[1]]$passport
[1] "hokkaidou"

# Function to extract romaji and collapse
to_romaji <- function(txt) {
  paste(sapply(convert(txt), `[[`, "hepburn"), collapse = " ")
  }

# Test on some longer text
lapply(c("北海道", "石の上にも三年", "豚に真珠"), to_romaji)

[[1]]
[1] "hokkaidou"

[[2]]
[1] "ishi no ueni mo sannen"

[[3]]
[1] "buta ni shinju"
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72167875

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档