s********k 发帖数: 6180 | 1 由于需要处理某种奇葩的输入,比如
2039957250 55
2039966250 55
2039966875 55
2039973625 55
前面两个是一类,时间戳和之后的数字只有一个空格,后面有两个空格,Python有办法
区分它们吗? |
l**********n 发帖数: 8443 | 2 it is a regular expression question. |
s********k 发帖数: 6180 | 3 python的re库里面有没有什么比较方便做这个的
【在 l**********n 的大作中提到】![](/moin_static193/solenoid/img/up.png) : it is a regular expression question.
|
l**********n 发帖数: 8443 | 4 不怎么写python啊。
【在 s********k 的大作中提到】![](/moin_static193/solenoid/img/up.png) : python的re库里面有没有什么比较方便做这个的
|
w**z 发帖数: 8232 | 5 python regex is the same as the others. nothing special
【在 s********k 的大作中提到】![](/moin_static193/solenoid/img/up.png) : python的re库里面有没有什么比较方便做这个的
|
H****S 发帖数: 1359 | |
m********2 发帖数: 89 | 7 'a b'.split(' ')
【在 s********k 的大作中提到】![](/moin_static193/solenoid/img/up.png) : 由于需要处理某种奇葩的输入,比如 : 2039957250 55 : 2039966250 55 : 2039966875 55 : 2039973625 55 : 前面两个是一类,时间戳和之后的数字只有一个空格,后面有两个空格,Python有办法 : 区分它们吗?
|
s********k 发帖数: 6180 | 8 多谢,我用了个笨办法blank+=line.count(' ')也搞定了
【在 m********2 的大作中提到】![](/moin_static193/solenoid/img/up.png) : 'a b'.split(' ')
|
S*A 发帖数: 7142 | |
L***s 发帖数: 1148 | 10
In [1]: 'a b'.split()
Out[1]: ['a', 'b']
In [2]: 'a b'.split(' ')
Out[2]: ['a', '', 'b']
【在 s********k 的大作中提到】![](/moin_static193/solenoid/img/up.png) : 由于需要处理某种奇葩的输入,比如 : 2039957250 55 : 2039966250 55 : 2039966875 55 : 2039973625 55 : 前面两个是一类,时间戳和之后的数字只有一个空格,后面有两个空格,Python有办法 : 区分它们吗?
|
|
|
d******e 发帖数: 2265 | 11 re.split(line, r'S+')
【在 s********k 的大作中提到】![](/moin_static193/solenoid/img/up.png) : 由于需要处理某种奇葩的输入,比如 : 2039957250 55 : 2039966250 55 : 2039966875 55 : 2039973625 55 : 前面两个是一类,时间戳和之后的数字只有一个空格,后面有两个空格,Python有办法 : 区分它们吗?
|
e*******o 发帖数: 4654 | 12 Perl:
0> split / /, "a b"
$res[0] = [
'a',
'',
'b'
]
1> split ' ', "a b"
$res[1] = [
'a',
'b'
]
【在 L***s 的大作中提到】![](/moin_static193/solenoid/img/up.png) : : In [1]: 'a b'.split() : Out[1]: ['a', 'b'] : In [2]: 'a b'.split(' ') : Out[2]: ['a', '', 'b']
|
L***s 发帖数: 1148 | 13
python的默认str.split()是比较体贴的,
不论空几格,甚至是制表符,都按一个delimiter处理
In [10]: 'a b'.split()
Out[10]: ['a', 'b']
In [11]: 'a b'.split()
Out[11]: ['a', 'b']
In [13]: 'a b\tc'.split()
Out[13]: ['a', 'b', 'c']
楼主要区分空一格还是空两格,那么指定delimiter即可
In [12]: 'a b'.split(' ')
Out[12]: ['a', '', '', '', '', '', '', 'b']
【在 e*******o 的大作中提到】![](/moin_static193/solenoid/img/up.png) : Perl: : 0> split / /, "a b" : $res[0] = [ : 'a', : '', : 'b' : ] : 1> split ' ', "a b" : $res[1] = [ : 'a',
|
e*******o 发帖数: 4654 | 14 http://perldoc.perl.org/functions/split.html
Perl 与python比比咋样 哈哈。
【在 L***s 的大作中提到】![](/moin_static193/solenoid/img/up.png) : : python的默认str.split()是比较体贴的, : 不论空几格,甚至是制表符,都按一个delimiter处理 : In [10]: 'a b'.split() : Out[10]: ['a', 'b'] : In [11]: 'a b'.split() : Out[11]: ['a', 'b'] : In [13]: 'a b\tc'.split() : Out[13]: ['a', 'b', 'c'] : 楼主要区分空一格还是空两格,那么指定delimiter即可
|
L***s 发帖数: 1148 | 15
python的str.split()解决的是常用的情形
允许指定pattern的话,要比当然是跟python的标准正则库re来比
(当然re有自己本身的问题,有个第三方库re2试图取代它)
perl的正则已经融合在语言里了,干这事自然更“专业”,pattern都不用加引号的
【在 e*******o 的大作中提到】![](/moin_static193/solenoid/img/up.png) : http://perldoc.perl.org/functions/split.html : Perl 与python比比咋样 哈哈。
|