Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/330.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何替换“的所有实例”\";在带有换行符的字符串中_Python_Discord.py - Fatal编程技术网

Python 如何替换“的所有实例”\";在带有换行符的字符串中

Python 如何替换“的所有实例”\";在带有换行符的字符串中,python,discord.py,Python,Discord.py,我正在使用从网站上收集的数据,并使我的机器人显示在单独的行中。有一个特定的字符串,其信息之间有“\n”,我想将其转换为实际的换行符 我已尝试将“\n”替换为“+”\n“+”,但输出仍然相同 这是我遇到的问题的一个例子,而不是实际的bot代码 import discord from discord.ext.commands import Bot from discord.ext import commands import asyncio Client = discord.Client() cl

我正在使用从网站上收集的数据,并使我的机器人显示在单独的行中。有一个特定的字符串,其信息之间有“\n”,我想将其转换为实际的换行符

我已尝试将“\n”替换为“+”\n“+”,但输出仍然相同

这是我遇到的问题的一个例子,而不是实际的bot代码

import discord
from discord.ext.commands import Bot
from discord.ext import commands
import asyncio

Client = discord.Client()
client = commands.Bot(command_prefix = "!")

cardName = "Card Name"
rawCardText = "This is an ability\nThis is another ability"
cardText = rawCardText.replace('\n', '+ "\n" +')

fullText = cardName + "\n" + cardText
await client.send_message (message.channel, fullText)
我期待着这样的事情:

卡名

这是一种能力

这是另一种能力

相反,我得到的是:

卡名

这是一种能力\n这是另一种能力

写入“\n”
原始字符串

cardText = rawCardText.replace(r'\n', '+ "\n" +')

这段代码是独立工作的,但当我尝试在Discord机器人上使用它时,它无法正确输出换行符。我稍微修改了你的答案,因为起初我认为它的工作方式会有所不同,但最终解决了我的问题。感谢非原始字符串文字中“\n”的依赖实例已经是换行符?除非rawCardText(使用snake\u case for python btw.)变量是从文本为“\”+“n”的源加载的,或者是从python字符串文本“\\n”或“r”\n”的源加载的,否则我不是python专家,但显然是“\n”我抓取的文本附带的字符串是原始的,这就是为什么它们不起作用,直到我检测到它们是原始的,并将它们替换为非原始的,正如我接受的答案所表明的那样。不需要“+”\n“+”,甚至是一个错误,只需要“\n”。编辑:所有这些都是关于Discord如何在消息上处理它们的,我不知道这是否适用于一个简单的
print()
命令,因为我不接受的另一个答案在python控制台上起作用,但在Discord上不起作用,这是因为另一个答案假设您编写的文本就是您收到的文本。在python字符串文本中,“\n”呈现为单个换行符,然后该答案使用该单个换行符进行拆分。实际上,您需要的是一个文本“\”和字母“n”,在python字符串中,该字母被写成“\\n”或“r”\n”。这是有道理的,也许我可以更清楚地说明我想要什么。不管怎样,我得到了我的答案,现在感谢你的帮助,我知道了确切的问题是什么
cardName = "Card Name"
rawCardText = "This is an ability\nThis is another ability"
cardText = rawCardText.split('\n')
fullText = fullText = (cardName + '\n' + '\n'.join(cardText))
print (fullText)