gsub(/^/, "\t" * num)
什么角色被替换?
答案 0 :(得分:7)
没有字符被替换,它只是在开头插入num
标签,因此您可以说它替换了零宽度“行首”标记。无论是谁写的都会更好用这样的东西:
tabbed = "\t" * num + original
正则表达式实际上不是简单字符串连接的正确工具。
澄清:如果您希望您的字符串包含多行,请使用:
gsub(/^/, "\t" * num)
使用制表符为所有行添加前缀是合理的事情,并且比分割,前缀和重新连接更少噪音。如果你只想在字符串中处理一行,那么简单的字符串连接将是更好的选择。
答案 1 :(得分:5)
^
表示正则表达式语法中的“行首”,因此这将在每行的开头插入num
制表符。从技术上讲,你可以说它替换了每一行开头的空字符串。