【发布时间】:2017-09-04 22:43:13
【问题描述】:
以下代码有效:
// {
print gensub("[a-z][A-Z]”,"&","g")
}
但这不是:
// {
print gensub("[a-z][A-Z]","\0","g")
}
这也不是我最终想要实现的目标:
// {
print gensub(“([a-z])([A-Z])",”\1 \2","g")
}
为什么这不起作用,我该如何使它起作用。这个脚本的目的:名字是用不以空格分隔的姓氏给出的,我需要将它们分开。 name 的第一个字符是大写字母,我不想在名字前有空格。我可以通过将FS 设置为'' 并检查每个字符来做到这一点,但我想学习 gensub。我也没有找到 gsub 的用法,因为它给了我匹配的数量,而不是替换后的字符串。
另一种可能的解决方案,但我不知道如何完成这项工作,是将 gensub 中的目标从 "g" 设置为 "2,3,4" 等,但我无法在这里给出多个论点。
请不要仅建议如何使上述其中一项工作的替代解决方案
【问题讨论】: