怎么有两个\r\n就去除不掉了
直接在文本里输入\r\n,其实是这些字符\、r、\、n的组合,和普通的字符串abc没有区别,没有特殊的含义,并不表示真正的换行符,在代码层面其实是 “abc\\r\\ndef”,\都被转义了。
从上面的例子可以看出来:文本 "abc\r\ndef" 在代码层面其实是 "abc\\r\\ndef"。
在文本里按下Enter键,才是真正的换行符,代码层面是 “abc\r\ndef”,\ 没有被转义,和后面的字母r或n,组合在一起,表示特殊的含义。
从上面的例子可以看出来:文本 "abc{Enter}def" 才是真正的换行 "abc\r\ndef"
从你的描述中可以看出,你要做的是去除普通的字符\r\n,并不是去除换行符,所以用【去除前后空白字符】没有效果,应该用文本正则替换来实现。
$=//去除前后字符\r\n string textTmp = {text}; textTmp = Regex.Replace(textTmp, @"^(\\r\\n)+", ""); textTmp = Regex.Replace(textTmp, @"(\\r\\n)+$", ""); return textTmp;
是我没有描述清楚,在本次中,\r\n指的是实际上的换行符,而不是字符。实际情况如截图所示,使用”文本处理“模块对列表每个进行去除空白字符,调试运行的记录里,第一个项末尾有一个换行符,去除成功,最后一个项,末尾有两个换行符,却没有去除掉
我猜测应该是这样的:北京后面的确实是换行符,但是深圳后面的是普通字符。
你加上面那段代码处理逻辑呗,多一道保险,这样无论首尾的是换行符,还是普通字符\r\n,就都能处理了。
你可以在【深圳\r\n】后面拼接些内容,放到【提示信息】里显示出来,看看有没有换行,这样就能验证后面的到底是什么。
这里测试正常,可能你的内容里还有别都不太正常的字符。 可以用Length看一下长度是不是不太对。
找到了,是零宽字符😂 这玩意不能在调试里显示出来吗,没有经验都找不到原因
等试试看看。