我有以下字符串:
55,1001wuensche.com,0,354137264,1,"0.00 %",0,"0.00 %","2016-04-24 09:00:24"
56,100hoch3.de,47,2757361,2,"0.00 %",0,"0.00 %","2016-02-11 00:42:10"
我想删除第一个逗号之前的所有内容:55,
和56,
和第二个逗号之后的所有内容。
结果应如下所示,其中只剩下域名:
1001wuensche.com
100hoch3.de
我正在使用Notepad ++来实现这一目标。有人有个主意吗?感谢您的帮助!
答案 0 :(得分:3)
^.*?,(.*?),.*$
捕获组$1
将是前两个逗号之间的所有内容。
答案 1 :(得分:2)
您可以搜索^[^,]+,([^,]+).*
并将其替换为$1
。
如果有可能是格式不正确的行(在第一个逗号之前包含空字符串或没有逗号的行),则可以使用更严格的模式,如^[^,\r\n]*,([^,\r\n]+).+
。
答案 2 :(得分:0)
另一种做这种事情的方法(在更一般意义上)是用#逗号({1}}用逗号分隔成一个数组,然后只用第二个那个数组的元素。
然而另一种方法是执行两个"替换"正则表达式,都明确地锚定到行的开头或结尾(第一个是非"贪婪"例如:
split
"贪婪"非常重要,因为在第一种情况下,我们希望匹配最少个字符数,以便停止遇到的 first 逗号。 (因此,"非贪婪。")然而,在第二种情况下,你做想要"贪婪"识别(并设置为空字符串)您可以找到的最大匹配:即"字符串的其余部分。"
找到最简单的和最明显的方式来做这件事,因为,不可避免地,某人有一天会想要改变这种逻辑。或者,有人会给你一个文件,打破你的聪明,优雅"做法。思考"可测试,可维护。"