我正试图在REGEXREPLACE
中使用Google Sheets
删除重复的特殊字符\n
。
我无法通过单个实例替换所有重复的字符实例。
这是我的代码:
REGEXREPLACE("Hi Gene\n\n\n\n\nHope","\\n+","\\n")
我希望结果为:
Hi Gene\nHope
但它始终保持着新的界限。
Hi Gene\n\n\n\n\nHope
替换特殊字符必须是一个问题,因为:
REGEXREPLACE("Hi Gennnne\nHope","n+","n")
产地:
Hi Gene\nHope
如何使用Google Sheets
中的单个特殊字符实例删除重复的特殊字符实例?
答案 0 :(得分:1)
https://support.google.com/docs/answer/3098245?hl=en
REGEXREPLACE(text,regular_expression,replacement)
问题似乎在于它如何解释"文本"。如果我把它放在一个单元格中REGEXREPLACE("Hi Gene\n\n\n\n\nHope","","")
输出也是Hi Gene\n\n\n\n\nHope
。
如果我将文本放在一个单元格中,并使用适当的换行符,并使其REGEXREPLACE(A1, "(\n)\n*", "$1")
有效。
注意我不能只做s/\n+/\n/
,因为它仍然没有将换行符号解释为特别的。它只会输出\ n而不是换行符。
答案 1 :(得分:1)
找到更简单的方法:
=REGEXREPLACE("Hi Gene\n\n\n\n\nHope","(\\n)+","\\n")
你的这个公式:
=REGEXREPLACE(A1,REPT(F2,(len(A1)-len(REGEXREPLACE(A1,"\\n","")))/2),"\\n")
将您的文字放在A1。
工作原理
它的解决方法是,我们想要使用这样的最终公式:
REGEXREPLACE("Hi Gene\n\n\n\n\nHope","\\n+\\n+\\n+\\n+\\n+","\\n")
第一个目标是找到重复\\n+
的次数:
=(len(F1)-len(REGEXREPLACE(F1,F2,F3)))/2
然后结合RegEx。
答案 2 :(得分:0)
我相信你不需要双重换行,例如只需搜索\n
:
REGEXREPLACE("Hi Gene\n\n\n\n\nHope", "\n+", "\n")
当您替换\\n
时,您正在搜索文字文本\n
,而不是换行符。