【发布时间】:2017-08-31 11:17:47
【问题描述】:
我之前有过类似的问题,后来我要为这个问题增加更多的范围,但不知道如何编辑它并让它再次生效。这就是为什么我要发布一个新问题。
我的文件是一个竖线分隔的文件。
NAME | NUM | WEB | LOCATION | CURRENCY | PLACE
ABCD | 04 | GO|OGLE | EUROPE | EURO | PARIS
XYZE | 12 | Y|A|HOO | USA | DOLLAR | SEATTLE
LMNO | 17 | |FACE|B|O|O|K | ASIA | ASIAN DOLLAR | HONGKONG
EDDE | 98 | A||M|AZ|ON| | AFRICA | AF DOLLAR | CAPETOWN
我的文件就是这么复杂。我们需要删除“|” WEB 字段中的符号,并将其替换为垃圾值,例如 #、$ 和任何其他值。
输出必须是:
NAME | NUM | WEB | LOCATION | CURRENCY | PLACE
ABCD | 04 | GO#OGLE | EUROPE | EURO | PARIS
XYZE | 12 | Y#A#HOO | USA | DOLLAR | SEATTLE
LMNO | 17 | #FACE#B#O#O#K | ASIA | ASIAN DOLLAR | HONGKONG
EDDE | 98 | A##M#AZ#ON# | AFRICA | AF DOLLAR | CAPETOWN
我尝试了几个过滤器来清理这个混乱。似乎没有什么能找到一个幸福的结局。谢谢! 我要感谢几个回答我上一个问题的人:RomanPerekhrest、Ed Morton、shellter、val rog。
【问题讨论】:
-
分隔符前后是否总是有空格?
-
不,不是。他们都挤得很紧。只是为了更好的说明目的,我是这样写的
-
那你怎么知道在
acbd|02|gh|ij|kl|mn|op|qr这样的字符串上,web 字段的开始和结束位置? -
我们确定第二个字段是“NUM”,而 LOCATION 字段是第四个字段,这不会在文件中更改。介于这两个字段之间的任何字段都必须接受审查。