Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
python reg exp:如何从字符串中删除由[and]分隔的字段_Python_Regex_String - Fatal编程技术网

python reg exp:如何从字符串中删除由[and]分隔的字段

python reg exp:如何从字符串中删除由[and]分隔的字段,python,regex,string,Python,Regex,String,我有一个文件,每一行都是这样的: 2013-04-23 16:04:12.276 BLA[16878:950f] 'asdf' : 0, 'asds': 0, 'adf': 0 我需要用,替换零件BLA[16878:950f] 请注意,文本BLA总是相同的,但是[和]中的文本总是不同的,可以具有不同的长度 最后我需要的是: 2013-04-23 16:04:12.276, 'asdf' : 0, 'asds': 0, 'adf': 0 有什么想法吗?我不擅长正则表达式,但我认为这是唯一的方法

我有一个文件,每一行都是这样的:

2013-04-23 16:04:12.276 BLA[16878:950f] 'asdf' : 0, 'asds': 0, 'adf': 0
我需要用
替换零件
BLA[16878:950f]

请注意,文本
BLA
总是相同的,但是
[
]
中的文本总是不同的,可以具有不同的长度

最后我需要的是:

2013-04-23 16:04:12.276, 'asdf' : 0, 'asds': 0, 'adf': 0
有什么想法吗?我不擅长正则表达式,但我认为这是唯一的方法

谢谢

我认为您实际上想要替换
spaceBLA[16878:950f]
:如果您愿意,只需添加该空格即可

我不擅长正则表达式,但我认为这是唯一的方法

FWIW,它可以在没有正则表达式的情况下完成

>>> s = "2013-04-23 16:04:12.276 BLA[16878:950f] 'asdf' : 0, 'asds': 0, 'adf': 0"
>>> i1 = s.find('[')
>>> i2 = s.find(']')
>>> '%s,%s' % (s[:i1-4], s[i2+1:])
"2013-04-23 16:04:12.276, 'asdf' : 0, 'asds': 0, 'adf': 0"
…但只有当您能够保证字符串中的
[
]
字符只出现一次时,这才有效


不过,jamylak的解决方案会更可靠。

哇,谢谢。这正是我所需要的。为什么reg exp总是需要这么复杂?:-)@otmezger
[
]
都是元字符,因此需要进行一些奇怪的转义,这正是我自己无法发现的原因。但是这就是
XCode
NSLog
的结果打印到控制台的方式。谢谢,我以后会用它来完成更简单的任务。
>>> s = "2013-04-23 16:04:12.276 BLA[16878:950f] 'asdf' : 0, 'asds': 0, 'adf': 0"
>>> i1 = s.find('[')
>>> i2 = s.find(']')
>>> '%s,%s' % (s[:i1-4], s[i2+1:])
"2013-04-23 16:04:12.276, 'asdf' : 0, 'asds': 0, 'adf': 0"