Python 拆分具有特殊字符的行

Python 拆分具有特殊字符的行,python,Python,我有一行,看起来像这样: line ='timing [dash<try></example><try>x</trial>] -122 µm' “µ”似乎在这里引起了问题。上面的代码显示了编译时的错误。有没有办法和那些特殊角色合作 小编辑: 我正在读某个文件中的“行”。我正在使用Python2.7。在Python2.7中运行良好 >>> line ='timing

我有一行,看起来像这样:

line ='timing                 [dash<try></example><try>x</trial>]           -122    µm'
“µ”似乎在这里引起了问题。上面的代码显示了编译时的错误。有没有办法和那些特殊角色合作

小编辑:


我正在读某个文件中的“行”。我正在使用Python2.7。

在Python2.7中运行良好

>>> line ='timing                 [dash<try></example><try>x</trial>]           -122    µm'
>>> a = line.split("]")
>>> b = a[1].split("x")
>>> c= b[0].split("µm")
>>> a
['timing                 [dash<try></example><try>x</trial>', '           -122    \xc2\xb5m']
>>> b
['           -122    \xc2\xb5m']
>>> c
['           -122    ', '']
>>> c[0].replace(" ", "")
'-122'
>>> c[0].strip()
'-122'
>>> float(c[0].replace(" ", ""))
-122.0
>>line='timing[dashx]-122µm'
>>>a=行分割(“]”)
>>>b=a[1]。拆分(“x”)
>>>c=b[0]。拆分(“µm”)
>>>a
['timing[dashx','-122\xc2\xb5m']
>>>b
['-122\xc2\xb5m']
>>>c
['           -122    ', '']
>>>c[0]。替换(“,”)
'-122'
>>>c[0].strip()
'-122'
>>>浮点数(c[0]。替换(“,”))
-122.0

在python 2.7中运行良好

>>> line ='timing                 [dash<try></example><try>x</trial>]           -122    µm'
>>> a = line.split("]")
>>> b = a[1].split("x")
>>> c= b[0].split("µm")
>>> a
['timing                 [dash<try></example><try>x</trial>', '           -122    \xc2\xb5m']
>>> b
['           -122    \xc2\xb5m']
>>> c
['           -122    ', '']
>>> c[0].replace(" ", "")
'-122'
>>> c[0].strip()
'-122'
>>> float(c[0].replace(" ", ""))
-122.0
>>line='timing[dashx]-122µm'
>>>a=行分割(“]”)
>>>b=a[1]。拆分(“x”)
>>>c=b[0]。拆分(“µm”)
>>>a
['timing[dashx','-122\xc2\xb5m']
>>>b
['-122\xc2\xb5m']
>>>c
['           -122    ', '']
>>>c[0]。替换(“,”)
'-122'
>>>c[0].strip()
'-122'
>>>浮点数(c[0]。替换(“,”))
-122.0

在python 2.7中运行良好

>>> line ='timing                 [dash<try></example><try>x</trial>]           -122    µm'
>>> a = line.split("]")
>>> b = a[1].split("x")
>>> c= b[0].split("µm")
>>> a
['timing                 [dash<try></example><try>x</trial>', '           -122    \xc2\xb5m']
>>> b
['           -122    \xc2\xb5m']
>>> c
['           -122    ', '']
>>> c[0].replace(" ", "")
'-122'
>>> c[0].strip()
'-122'
>>> float(c[0].replace(" ", ""))
-122.0
>>line='timing[dashx]-122µm'
>>>a=行分割(“]”)
>>>b=a[1]。拆分(“x”)
>>>c=b[0]。拆分(“µm”)
>>>a
['timing[dashx','-122\xc2\xb5m']
>>>b
['-122\xc2\xb5m']
>>>c
['           -122    ', '']
>>>c[0]。替换(“,”)
'-122'
>>>c[0].strip()
'-122'
>>>浮点数(c[0]。替换(“,”))
-122.0

在python 2.7中运行良好

>>> line ='timing                 [dash<try></example><try>x</trial>]           -122    µm'
>>> a = line.split("]")
>>> b = a[1].split("x")
>>> c= b[0].split("µm")
>>> a
['timing                 [dash<try></example><try>x</trial>', '           -122    \xc2\xb5m']
>>> b
['           -122    \xc2\xb5m']
>>> c
['           -122    ', '']
>>> c[0].replace(" ", "")
'-122'
>>> c[0].strip()
'-122'
>>> float(c[0].replace(" ", ""))
-122.0
>>line='timing[dashx]-122µm'
>>>a=行分割(“]”)
>>>b=a[1]。拆分(“x”)
>>>c=b[0]。拆分(“µm”)
>>>a
['timing[dashx','-122\xc2\xb5m']
>>>b
['-122\xc2\xb5m']
>>>c
['           -122    ', '']
>>>c[0]。替换(“,”)
'-122'
>>>c[0].strip()
'-122'
>>>浮点数(c[0]。替换(“,”))
-122.0

我刚刚用Python 3.3运行了您的代码

print(my_val)

prints-122。

我刚刚用Python 3.3运行了您的代码

print(my_val)
import re

line ="asdfasd;l  lakfdalskd -122 asfdsd"
print re.findall(r'-\d+', line)

prints-122。

我刚刚用Python 3.3运行了您的代码

print(my_val)
import re

line ="asdfasd;l  lakfdalskd -122 asfdsd"
print re.findall(r'-\d+', line)

prints-122。

我刚刚用Python 3.3运行了您的代码

print(my_val)
import re

line ="asdfasd;l  lakfdalskd -122 asfdsd"
print re.findall(r'-\d+', line)

打印-122。

看看Python+Unicode教程。首先,如果您有任何Unicode字符,请使用u,例如,对代码中的每个字符串使用u“…”是安全的

import re

line ="asdfasd;l  lakfdalskd -122 asfdsd"
print re.findall(r'-\d+', line)
line = u'timing....'
c= b[0].split(u"µm")

看看Python+Unicode教程。首先,如果您有任何Unicode字符,请使用u,例如,对代码中的每个字符串使用u“…”是安全的

line = u'timing....'
c= b[0].split(u"µm")

看看Python+Unicode教程。首先,如果您有任何Unicode字符,请使用u,例如,对代码中的每个字符串使用u“…”是安全的

line = u'timing....'
c= b[0].split(u"µm")

看看Python+Unicode教程。首先,如果您有任何Unicode字符,请使用u,例如,对代码中的每个字符串使用u“…”是安全的

line = u'timing....'
c= b[0].split(u"µm")

请查看上面的编辑。我正在从文件中读取该行。因此,请使用codecs包来读取该行,并且仍然使用u“…”。很抱歉,我为文件编码问题创建了另一篇文章。我已经在使用codecs.open(…我的源文件格式是utf-16-le。我正试图从thsi文件中拆分行和µ,就像我提到的那样。我如何在代码中使用编码?Python unicode编码是不知道的。如果您正确地将文件读取为unicode并将u放入“。”在每个字符串上,它都应该像ascii一样工作。请参见上面的编辑。我正在从文件中读取该行。因此,请使用编解码器软件包读取该行,并且仍然使用u“…”。抱歉,我为文件编码问题创建了另一篇文章。我已经在使用codecs.open(…我的源文件格式是utf-16-le。我正试图从thsi文件中拆分行和µ,就像我提到的那样。我如何在代码中使用编码?Python unicode编码是不知道的。如果您正确地将文件读取为unicode并将u放入“。”在每个字符串上,它都应该像ascii一样工作。请参见上面的编辑。我正在从文件中读取该行。因此,请使用编解码器软件包读取该行,并且仍然使用u“…”。抱歉,我为文件编码问题创建了另一篇文章。我已经在使用codecs.open(…我的源文件格式是utf-16-le。我正试图从thsi文件中拆分行和µ,就像我提到的那样。我如何在代码中使用编码?Python unicode编码是不知道的。如果您正确地将文件读取为unicode并将u放入“。”在每个字符串上,它都应该像ascii一样工作。请参见上面的编辑。我正在从文件中读取该行。因此,请使用编解码器软件包读取该行,并且仍然使用u“…”。抱歉,我为文件编码问题创建了另一篇文章。我已经在使用codecs.open(…我的源文件格式是utf-16-le。从thsi文件中,我正在尝试拆分行和µ,就像我提到的那样。我如何在代码中使用编码?Python unicode不知道编码。如果您正确地将文件读取为unicode,并在每个字符串上加上“.”。它应该与ascii一样工作。