我希望在First + Last name(\nJohn Smith\t
)出现后将两个制表符分隔到tsv文件中:
dl=readstring(fileName)
dl=replace(dl,r"(\n[A-Za-z\s]+\t)","\1\t\t")
我将第一个+姓氏替换为x01
。文档说明替换字符串,但我无法找到实现
更新:这可以替代一个组
dl=replace(dl,r"(\n[A-Za-z\s]+\t)",s"\1")
但是这个:
dl=replace(dl,r"(\n[A-Za-z\s]+\t)",s"\1\t\t")
导致错误Bad Replace
。没有\
的符号似乎很好。
答案 0 :(得分:2)
对我而言似乎是个错误。但是你可以使用解决方法:
julia> dl = "\nJohn Smith\t";
julia> s = Base.SubstitutionString;
julia> dl=replace(dl, r"(\n[A-Za-z\s]+\t)", s("\\1\t"))
"\nJohn Smith\t\t"
编辑
我认为这更好:
julia> dl = "\nJohn Smith\t";
julia> dl=replace(dl, r"(\n[A-Za-z\s]+\t)", @s_str("\\1\t"))
"\nJohn Smith\t\t"
BTW如果你想在捕获组后附加数字,那么你可以做其他技巧(命名组):
julia> replace("aAa", r"(?<one>A+)", s"\g<one>1")
"aA1a"