鱼C论坛

 找回密码
 立即注册
查看: 2239|回复: 5

[已解决]关于原始字符串

[复制链接]
发表于 2023-4-5 07:56:02 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
print(r'abcdef\no')     这个代码打印出来的结果是:abcdef\no     我在想怎么做能让打印结果中a和b之间以及d和e之间各加上一个单引号?也就是打印出这个: a'bcd'ef\no
最佳答案
2023-4-5 11:06:49
你可以将字符串分成三部分来处理:a和b之间,b和d之间,以及d和e之间;然后在每个部分上加上单引号。这里有一种方法可以实现:
string = r'abcdef\no'
new_string = string[:1] + "'" + string[1] + string[2:4] + "'" + string[4:5] + "'" + string[5:9] + "'" + string[9:]
print(new_string)
输出结果是:a'bcd'ef\no。

在这个方法中,我们使用了Python的字符串切片功能,将字符串分为三个部分,然后在每个部分上添加单引号。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-4-5 08:21:11 | 显示全部楼层
可以使用字符串操作来完成这个任务。首先,我们将原始字符串转换为常规字符串,然后在所需的位置插入单引号,并将其再次转换回原始字符串。下面是代码示例:
s = r'abcdef\no'   # 原始字符串
s = str(s)         # 转换为常规字符串
s = s[:1] + "'" + s[1:2] + s[2:5] + "'" + s[5:]  # 插入单引号
print(s)           # 打印结果
输出结果为:a'bcd'ef\no
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-4-5 09:50:33 | 显示全部楼层
那就用双引号
print(r"a'bcd'ef\no")
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 2 反对 0

使用道具 举报

发表于 2023-4-5 11:06:49 | 显示全部楼层    本楼为最佳答案   
你可以将字符串分成三部分来处理:a和b之间,b和d之间,以及d和e之间;然后在每个部分上加上单引号。这里有一种方法可以实现:
string = r'abcdef\no'
new_string = string[:1] + "'" + string[1] + string[2:4] + "'" + string[4:5] + "'" + string[5:9] + "'" + string[9:]
print(new_string)
输出结果是:a'bcd'ef\no。

在这个方法中,我们使用了Python的字符串切片功能,将字符串分为三个部分,然后在每个部分上添加单引号。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-4-5 13:12:54 | 显示全部楼层
用 join() 拼接字符比 + 拼接字符的效率更高:
print(''.join(["a","'","bcd","'","ef",r"\no"]))
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-4-6 09:55:15 | 显示全部楼层
print('a\'bcd\'ef\\no')
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-12-29 10:49

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表