执剑·神罚 发表于 2023-4-5 07:56:02

关于原始字符串

print(r'abcdef\no')   这个代码打印出来的结果是:abcdef\no   我在想怎么做能让打印结果中a和b之间以及d和e之间各加上一个单引号?也就是打印出这个: a'bcd'ef\no

歌者文明清理员 发表于 2023-4-5 08:21:11

可以使用字符串操作来完成这个任务。首先,我们将原始字符串转换为常规字符串,然后在所需的位置插入单引号,并将其再次转换回原始字符串。下面是代码示例:

s = r'abcdef\no'   # 原始字符串
s = str(s)         # 转换为常规字符串
s = s[:1] + "'" + s + s + "'" + s# 插入单引号
print(s)         # 打印结果

输出结果为:a'bcd'ef\no

陶远航 发表于 2023-4-5 09:50:33

那就用双引号
print(r"a'bcd'ef\no")

sfqxx 发表于 2023-4-5 11:06:49

你可以将字符串分成三部分来处理:a和b之间,b和d之间,以及d和e之间;然后在每个部分上加上单引号。这里有一种方法可以实现:

string = r'abcdef\no'
new_string = string[:1] + "'" + string + string + "'" + string + "'" + string + "'" + string
print(new_string)
输出结果是:a'bcd'ef\no。

在这个方法中,我们使用了Python的字符串切片功能,将字符串分为三个部分,然后在每个部分上添加单引号。

andy大宝 发表于 2023-4-5 13:12:54

用 join() 拼接字符比 + 拼接字符的效率更高:print(''.join(["a","'","bcd","'","ef",r"\no"]))

z5560636 发表于 2023-4-6 09:55:15

print('a\'bcd\'ef\\no')
页: [1]
查看完整版本: 关于原始字符串