【问题标题】:vector of punctuation标点符号向量
【发布时间】:2016-08-06 18:10:59
【问题描述】:

对于数字,我可以这样写一个向量:

digits <- c("0","1","2","3","4","5","6","7","8","9")

我怎样才能得到一个类似的标点符号向量?

【问题讨论】:

  • 您对vector of punctuation 的预期输出是什么。我的意思是元素的顺序
  • 您在寻找所有非数字或字母字符的向量吗?
  • 这不只是stackoverflow.com/questions/38792866/…的复制品吗?
  • 这个向量是否用于搜索其他文本中的标点符号?
  • 哪个区域设置? C++ 使用 !"#$%&'()*+,-./:;?@[]^_{|}~ (以及我忘记如何在 SO 文本框中转义的反引号)对于ispunct() 中的C 语言环境,但标点符号集取决于语言环境。

标签: r punctuation


【解决方案1】:

您可以使用 Unicode 代码点将数字转换为标点符号(感谢 Konrad,指出这一点)。

strsplit(intToUtf8(c(33:47, 58:64, 91:96)), "")[[1]]
# [1] "!"  "\"" "#"  "$"  "%"  "&"  "'"  "("  ")"  "*"  "+"  ","  "-"  "." 
#[15] "/"  ":"  ";"  "<"  "="  ">"  "?"  "@"  "["  "\\" "]"  "^"  "_"  "`"

一些埃塞俄比亚标点符号 (0x1361:0x1367):

strsplit(intToUtf8(0x1361:0x1367), "")[[1]]
[1] "፡" "።" "፣" "፤" "፥" "፦" "፧"

如果缺少您想要使用的标点符号,您可以查找与您想要的标点符号关联的 unicode 点,然后使用它(例如 http://www.fileformat.info/info/unicode/category/Po/list.htm 之类的地方)。您还可以从utf8ToInt 获取整数。例如上面没有包含“~”:

utf8ToInt("~")
#[1] 126

【讨论】:

    猜你喜欢
    • 2017-08-22
    • 2010-10-19
    • 1970-01-01
    • 2017-01-23
    • 2018-07-28
    • 2011-12-21
    • 2011-04-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多