将%替换为字符串中的数字

无敌的太阳

我正在做一个类分配,要求我用%后面跟一个数字替换其对应的位置参数(如果有的话,假设只给出了这些数字和必需的参数)。我一直在试图解决这个问题,但无济于事。搜索了Stack Overflow和Web,但是先前提出的问题仅将整数替换为足够容易的东西。

例如:formatting(“ Exodus%0”,“ Moses”)->应该返回“ Exodus Moses”

formatting(“出埃及记%0和%1”,“国王”,“神”)->应该返回“出埃及记国王和诸神”

格式设置(“出埃及记%1和%0”,“国王”,“神”)->应该返回“出埃及记众神与国王”

从外观上看,我认为函数格式化原型将是

def formatting(inputstring, *args):

到目前为止我尝试过的事情

1.for循环将%number天真地替换为其相应的参数

for length in len(args):
    temp=temp.replace("%length","arg[length]")        

当然,这是行不通的,因为它们是字符串而不是整数

2.使用inputstring.format()返回所需的字符串。问题是由参数长度Ex的变化引起的:

if len(args) == 1:    
    return inputstring.replace("%0",args[0])
if len(args) == 2:
    inputstring = inputstring.replace("%0",args[0])
    return inputstring.replace("%1",args[1])

很容易,它的工作原理!但是感觉不对,麻烦的很多参数试图在一个循环中执行此操作没有解决

请帮助谢谢!

克劳迪乌

您几乎在这里拥有它:

for length in xrange(len(args)):
    temp = temp.replace("%length","arg[length]")

考虑:

>>> s = "Hello %length there %0 man"
>>> length = 0
>>> args = ["something"]

如果进行替换,则会发生错误的事情:

>>> s.replace("%length", "args[length]")
'Hello args[length] there %0 man'

您最终要这样做:

>>> s.replace("%0", "something")
'Hello %length there something man'

怎么做?对于给定的索引,您必须构造字符串"%"后跟索引,然后从中获取该值args

>>> i = 0
>>> "%" + str(i)
'%0'
>>> args[i]
'something'    
>>> s.replace("%" + str(i), args[i])
'Hello %length there something man'

因此,您的循环必须如下所示:

>>> for i in xrange(len(args)):
        temp = temp.replace("%" + str(i), args[i])

或者,更Python地讲,您可以使用enumerate,它使您可以遍历列表并同时获取索引:

>>> for i, arg in enumerate(args):
        temp = temp.replace("%" + str(i), arg)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

将字符串中的数字替换为数字+“ f”

来自分类Dev

将字符串中的“ /”替换为“ \ /”

来自分类Dev

将数字从字符串替换为对象

来自分类Dev

将字符串0到9中的数字替换为SQL中的空白

来自分类Dev

如何将Java字符串中的所有'x'替换为数字

来自分类Dev

将双引号中的数字替换为空字符串

来自分类Dev

如何将python字符串中的数字替换为连续的数字和相同的新数字以进行重复

来自分类Dev

使用string.replace()将字符串替换为类似于字符串的数字

来自分类Dev

正则表达式将数字字符串替换为字符串

来自分类Dev

使用正则表达式将字符串中的数字替换为四舍五入的数字

来自分类Dev

将JavaScript字符串中的'-'替换为'-'

来自分类Dev

将字符串中的重复值替换为0

来自分类Dev

将字符串中的所有'='实例替换为'=='

来自分类Dev

将字符串中的最终逗号替换为“和”

来自分类Dev

使用Python将字符串中的“ \\”替换为空格

来自分类Dev

将数组中的空字符串替换为0

来自分类Dev

将{x}替换为字符串中的参数

来自分类Dev

将字符串中的重复值替换为0

来自分类Dev

将字符串中的空格替换为零

来自分类Dev

将字符串替换为数组中的值

来自分类Dev

将字符串替换为 Python 中的匹配模式

来自分类Dev

将字符串中的分数替换为小数

来自分类Dev

将列表中的字符串转换为数字矩阵

来自分类Dev

将数字转换为groovy中的字符串

来自分类Dev

将数组中的元素从数字转换为字符串

来自分类Dev

将字符串转换为数组 JavaScript 中的数字

来自分类Dev

将Shell脚本中的字符串替换为具有特殊字符的字符串

来自分类Dev

将Shell脚本中的字符串替换为具有特殊字符的字符串

来自分类Dev

将字符串中的A替换为B,将B替换为A

Related 相关文章

  1. 1

    将字符串中的数字替换为数字+“ f”

  2. 2

    将字符串中的“ /”替换为“ \ /”

  3. 3

    将数字从字符串替换为对象

  4. 4

    将字符串0到9中的数字替换为SQL中的空白

  5. 5

    如何将Java字符串中的所有'x'替换为数字

  6. 6

    将双引号中的数字替换为空字符串

  7. 7

    如何将python字符串中的数字替换为连续的数字和相同的新数字以进行重复

  8. 8

    使用string.replace()将字符串替换为类似于字符串的数字

  9. 9

    正则表达式将数字字符串替换为字符串

  10. 10

    使用正则表达式将字符串中的数字替换为四舍五入的数字

  11. 11

    将JavaScript字符串中的'-'替换为'-'

  12. 12

    将字符串中的重复值替换为0

  13. 13

    将字符串中的所有'='实例替换为'=='

  14. 14

    将字符串中的最终逗号替换为“和”

  15. 15

    使用Python将字符串中的“ \\”替换为空格

  16. 16

    将数组中的空字符串替换为0

  17. 17

    将{x}替换为字符串中的参数

  18. 18

    将字符串中的重复值替换为0

  19. 19

    将字符串中的空格替换为零

  20. 20

    将字符串替换为数组中的值

  21. 21

    将字符串替换为 Python 中的匹配模式

  22. 22

    将字符串中的分数替换为小数

  23. 23

    将列表中的字符串转换为数字矩阵

  24. 24

    将数字转换为groovy中的字符串

  25. 25

    将数组中的元素从数字转换为字符串

  26. 26

    将字符串转换为数组 JavaScript 中的数字

  27. 27

    将Shell脚本中的字符串替换为具有特殊字符的字符串

  28. 28

    将Shell脚本中的字符串替换为具有特殊字符的字符串

  29. 29

    将字符串中的A替换为B,将B替换为A

热门标签

归档