Python:替换,rstrip()无法删除换行符

Jam*_*tie 2 python replace newline

我有一个信息电子表格(由csv模块读取的UTF-8 CSV文件),其中包含需要进入库存数据库的大量产品的信息.我正在尝试将新行文本的描述设置为html列表标记.

我遇到的问题是以下行无法替换字符串中的换行符:

line[2] = "<ul><li>" + line[2]
line[2].replace('\n', '</li><li>')
line[2] += "</li></ul>"
Run Code Online (Sandbox Code Playgroud)

即使第二行被替换为,该字符串仍继续包含换行符:

line[2] = line[2].rstrip()
Run Code Online (Sandbox Code Playgroud)

发生了什么事,我搞砸了什么?=)

art*_*prs 10

从python手册

str.replace(old,new [,count])
返回字符串的副本,其中所有出现的substring old都替换为new.如果给出可选参数计数,则仅替换第一次计数.

正如您所看到的,它不会取代"就地",而是尝试:

line[2] = "<ul><li>" + line[2]
line[2] = line[2].replace('\n', '</li><li>')
line[2] += "</li></ul>"
Run Code Online (Sandbox Code Playgroud)

  • 更重要的是,python字符串是不可变的,所以没有对它们"就地"做任何事情. (2认同)