Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/195.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 - Fatal编程技术网

替换python中的文本位置

替换python中的文本位置,python,Python,我知道如何替换python中的东西,我已经做过了,但这一次我无法让它工作,也找不到任何东西 我已经回答过这样的问题: SomeVar.replace("-", "/") 但现在我想在/或-\uuu之间切换文本的位置,如下所示: 这就是我所拥有的 text1/text2 这就是我需要的 text2/text1 这里的问题是我有一个来自API的占位符,比如{MyText},所以我们不知道text1或text2将是什么 我试过了 a = PosibleText1 b = PossibleText

我知道如何替换python中的东西,我已经做过了,但这一次我无法让它工作,也找不到任何东西

我已经回答过这样的问题:

SomeVar.replace("-", "/")
但现在我想在
/
-
\uuu
之间切换文本的位置,如下所示:

这就是我所拥有的

text1/text2
这就是我需要的

text2/text1
这里的问题是我有一个来自API的占位符,比如
{MyText}
,所以我们不知道
text1
text2
将是什么

我试过了

a = PosibleText1
b = PossibleText2
c = {MyText}
c.replace(a, b)
这里的问题是,它仅将文本替换为其他文本,但不要将
/
周围的文本位置(如
text1/text2
切换为
text2/text1

另一个大问题是,{MyText}Placehoder中有大量不同的可能文本输出


需要能够识别
/
并在
/
前后切换文本位置的东西,无论文本是什么。如果有人有主意,谢谢

您应该使用format方法来实现这一点,例如:

c = '{}/{}'.format(b, a)

字符串是不可变的,因此您不会切换位置,而是创建一个新的位置。这是如何做到的:

# Split with the "/"
s = "text1/text2".split("/")
Out[2]: ['text1', 'text2']

# Create a new string
new = s[1] + "/" + s[0]

它可以用任意多的
text\u i
来概括,由i
/
分隔。

我希望我能正确理解您的问题。要交换斜杠周围任何非空格字符序列的位置,可以使用正则表达式:

import re
s = "a/b 3/4 hello/goodbye blah blah this/again"
print(re.sub(r"([^\s/]+)/([^\s/]+)", r"\2/\1", s))
输出:

b/a 4/3 goodbye/hello blah blah again/this

您可以将带有
'/'
的字符串拆分为一个列表,然后将其解包到
str.format
方法中,但输出的项目顺序相反:

c = '{1}/{0}'.format(*c.split('/'))

您可以使用
'/'
将字符串拆分为一个列表,并在反转后使用
'/'
将列表连接起来:

c = '/'.join(c.split('/')[::-1])

你应该将
拆分一次,然后使用相同的结果。这看起来不错,但我不知道它将是什么文本。我从{MyText}@vonNiklasson获得它。是的,当然,我写得很快,带有复制/粘贴。@ZelaMedia这不重要吗?无论文本是什么,它都将围绕
“/”
拆分。或者您的意思是分隔符可以不是
/
?因此
{}
是针对{MyText}的?你能举个更清楚的例子吗?我认为这是可行的。问题是在您的示例中,您有
{}/{}
我只有一个{MyText},其中text1/text2出现不,不,c变量是字符串存储的位置。
{}/{}
是写入格式的两个参数的地方。假设你的变量是:
a='text1'b='text2'c='text1/text2'
如果你这样做:
c='{}/{}'。格式(b,a)
你会得到:
print(c)'text2/text1'
你能检查一下我是否做错了吗
c='{MyText}'variables{MyText}的问题是什么它来自一个API,在这个API中可以出现大量不同的文本组合,这就是为什么我之前说我们不知道它是
text1/text2
还是
text4000/text9999