将linux服务器中文件操作的非法字符替换成字符串
Replace illegal characters for file operations in linux server in a character string
我有一个字符串 name
将生成一个文件名 paste(name, ".pdf", sep="")
此文件将在完成后移动到另一个目录。
我想主动避免 name
中可能导致文件操作错误的任何字符,如空格
、\
、[]
,其他字符如 !"§$%&/()=
和任何其他人替换它们。德语中的特殊字符,如 öäüß
应该不会造成问题,应该被允许。
由于名称是用户输入的,因此我无法事先知道用户可能会输入什么字符,这会导致问题。
哪些字符会给我错误?
是否有任何解决方案或正则表达式可以在不明确 运行 每个带有 sub
的字符的情况下执行此操作,例如 df$name<-sub(" ", "_", df$name)
R 包 {fs} 提供函数 fs::path_sanitize()
。你可能想检查一下。
https://fs.r-lib.org/reference/path_sanitize.html
我有一个字符串 name
将生成一个文件名 paste(name, ".pdf", sep="")
此文件将在完成后移动到另一个目录。
我想主动避免 name
中可能导致文件操作错误的任何字符,如空格
、\
、[]
,其他字符如 !"§$%&/()=
和任何其他人替换它们。德语中的特殊字符,如 öäüß
应该不会造成问题,应该被允许。
由于名称是用户输入的,因此我无法事先知道用户可能会输入什么字符,这会导致问题。
哪些字符会给我错误?
是否有任何解决方案或正则表达式可以在不明确 运行 每个带有 sub
的字符的情况下执行此操作,例如 df$name<-sub(" ", "_", df$name)
R 包 {fs} 提供函数 fs::path_sanitize()
。你可能想检查一下。
https://fs.r-lib.org/reference/path_sanitize.html