给定字符串是:
str1=
"sentence1 and
sentence2",
"sentence3 and
sentence4",
"sentence5 and
sentence6"
期望的输出是:
sentence1 and
sentence2;
sentence3 and
sentence4;
sentence5 and
sentence6;
我现在正在使用的编辑的pythod代码:
if (replace_string.find('",')!=-1):
replace_string=replace_string.replace('",', ';');
replace_string=replace_string.replace('"','');
它给我如下数据,找到工作正常并替换",用;也工作正常但现在我想要 摆脱单双引号,如下所示 看起来像replace_string = replace_string.replace('"'''');不是删除那些单双 每个句子开头的引号
"句子1和
SENTENCE2;
"句子3和
sentence4;
"句子5和
sentence6"
答案 0 :(得分:0)
如果字符串是以段落格式分配的。然后建议使用三重引号。像这样。
str1 = """
"sentence1 and
sentence2",
"sentence3 and
sentence4",
"sentence5 and
sentence6"
"""
然后使用
str1 = str1.replace(r'",', r";") # this replaces ", with ;
str1 = str1.replace(r'"', '') # this replaces " with nothing.
print str1
关于其他查询:
str1.find("",")!=-1 doesnt work to find ",
它不起作用,因为它将两个参数传递给find函数,一个是空字符串,另一个只打开双引号而没有结束双引号。
在这种情况下,你可以使用r'";'或使用像这样的转义字符" \";"
答案 1 :(得分:0)
替换方法不会在同一个字符串中进行替换,字符串是不可变的,因此它会创建一个新字符串 - 它不会被分配给变量,而是会丢失。转换也是多余的 - 你已经有了一个字符串。 刚
for idx, line in enumerate(my_list):
my_list[idx] = line.replace('",', ';'.replace('"', '')
尽量不要使用Python对象的名称 - 比如 list - 作为变量名称 - 这是麻烦的招数
修改强> 至于“找不工作” - 你写它的方式,你应该得到一个例外。为了让事情变得有价值(错过那个),你使用Python str 对象而不是 str1 !如果您想在带引号的字符串中使用双引号,可以:
使用反斜杠将其转义
str1.find( “\”,“)!= - 1
只需使用单引号作为字符串
str1.find(” '')!= - 1
答案 2 :(得分:0)
这个怎么样?
str1 = str1.replace('",', ';')
您错过了作业。