search

Home  >  Q&A  >  body text

字符编码 - python把汉字字符串中的'\n‘去掉

从文件中读出的一个汉字字符串
用这个句话判断是否包含回车:

python    if '\n' in mystring:
        print type(mystring)
        #<type 'unicode'>
        mystring.replace('\n', '')
        #does not work
        mystring.replace(u'\n', u'')
        #does not work
        mystring.encode("gbk")
        mystring.replace("\n", "")
        #does not work
        mystring.encode("utf-8")
        mystring.replace("\n", "")
        #does not work
        mystring.encode("ascii")
        mystring.replace("\n", "")
        #UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-20
        print mystring

这该如何是好?请指教!

大家讲道理大家讲道理2843 days ago735

reply all(2)I'll reply

  • 怪我咯

    怪我咯2017-04-17 14:37:24

    What I think of is, since it is read from a file, why not use strip?

    python    file = open('file.txt', 'rt')
        for line in file:
            line = line.strip()
    

    reply
    0
  • 高洛峰

    高洛峰2017-04-17 14:37:24

    The replace method of a string will not modify the content of the original string

    Try

        a = "woshishazi\n!!!"
        a = a.replace('\n', '')
    

    reply
    0
  • Cancelreply