【问题标题】:Placing a string on the clipboard without a newline在没有换行符的情况下将字符串放在剪贴板上
【发布时间】:2013-06-17 04:30:02
【问题描述】:

我有一个自定义函数,它将剪贴板上带有反斜杠的路径转换为带有正斜杠的路径并将其粘贴回剪贴板上。麻烦的是,当它被粘贴回来时,它带有一个换行符。我似乎找不到这个换行符的来源,因为它似乎不是换行符:

btf <- function(){
  backstring <- readClipboard()
  forstring <- gsub("\\\\", "/", backstring)
  writeClipboard(forstring)
}

所以要使用示例路径:C:\path\to\folder
1.复制路径
2.在R中运行btf()
3.粘贴

粘贴后的副本现在有一个换行符。我在 Windows 7 下运行 R 3.0.1。
如何防止出现此换行符?

【问题讨论】:

  • 来自帮助文件:writeClipboard 函数将使用标准 CR-LF 行终止符将字符向量写入文本。

标签: r clipboard


【解决方案1】:

使用:

btf <- function(){
  backstring <- readClipboard()
  forstring <- gsub("\\\\", "/", backstring)
  writeClipboard(charToRaw(paste0(forstring, ' ')))
}

【讨论】:

  • 不知道为什么writeClipboard 用一个 nul 字节替换最终的字符原始表示,因此用空格做软糖。
  • 我认为这是因为 C 中的字符串(由 R 使用)是 NUL 终止的:en.wikipedia.org/wiki/Null-terminated_string
猜你喜欢
  • 1970-01-01
  • 2021-01-20
  • 1970-01-01
  • 2020-10-27
  • 1970-01-01
  • 2019-07-10
  • 2012-04-08
  • 1970-01-01
相关资源
最近更新 更多