我有以下数组:
$matches[0] = "123";
$matches[1] = "987";
$matches[2] = "121";
以及以下字符串:
$result = "My phone number is {0} and police number is {2}";
我想替换基于$matches
数组的{}
占位符,以防占位符不匹配而显示nothing。你知道吗
实现这一目标的最佳方法是什么?或者你知道解决我问题的更好方法吗?你知道吗
(现在我正在构建这个系统,因此我可以使用任何其他符号,而不是花括号)
在python中,这可以使用.format()
函数实现。你知道吗
你可以用
vsprintf
来做,如果你给你的项目的数字(从1开始)如下:%n$s
(其中n是数字):请注意,您必须将格式化的字符串放在单引号之间,否则
$s
将被解释为变量并被替换为零。你知道吗(
vprintf
和vsprintf
是为数组设计的,但是你可以用printf
和sprintf
做同样的事情,对于分离的变量,它的工作原理是一样的)如果无法更改原始的Python格式的字符串,方法是使用
preg_replace_callback
:或者,您可以构建一个关联数组,其中键是占位符和数组值,并使用
strtr
替换:相关问题 更多 >
编程相关推荐