php - 用规则替换 PHP 中字符串的第一个字符
问题描述
我想根据其值用特定字符替换字符串的第一个字符,
A = 0
B = 1
C = 2
有没有办法根据规则来做到这一点?总共我将有 8 条规则。
好的,所以我正在编辑它以添加更多信息,因为我认为有些人在没有全貌的情况下无法理解/想要提供帮助......
我的字符串将是 5 到 10 个字符之间的任意长度 大写字母不会考虑在内,它不区分大小写 目前没有代码,我不确定最好的方法。我可以在子字符串上写一个 if 语句,但我马上就知道这是低效的。
下面是我所期待的之前和之后,我让这些示例保持简单,但我要做的就是根据其值将第一个字符替换为特定字符。目前,有八条规则,但未来可能会增加
INPUT OUTPUT
ANDREW 1NDREW
BRIAN 2RIAN
BOBBY 2OBBY
CRAIG 3RAIG
DAVID 4AVID
DUNCAN 4UNCAN
EDDIE 5DDIE
FRANK 6RANK
GEOFF 7EOFF
GIANA 7IANA
HAYLEY 8AYLEY
如您所见,非常简单,但是有没有一种简单的方法来具体指定应该替换的字符?
解决方案
假设所有规则都是针对单个字符的,就像在示例中一样,将它们编码到字典中是最容易的:
$rules = array('A' => 0, 'B' => 0 /* etc... */);
$str[0] = $rules[$str[0]];
推荐阅读
- session-cookies - aiohttp 和 browser_cookie3
- r - 为什么从 POSIXct 转换时 as.Date() 返回错误的日期?
- flutter - “在颤动中,路线是到屏幕的路径”或“在颤动中,一个屏幕被称为一条路线”
- websocket - 尝试通过 Visual Studio 运行 websocket 应用程序,以便我可以调试它
- python - 了解 GPU 上的 Pytorch 内存分配
- java - 如果简单数组有效,为什么要在 OpenGL (LWJGL) 中使用缓冲区?
- vue.js - NuxtJS Headless ghost 无法查看个别博客
- python - 如何使用 lasio.py 将曲线标题添加到 las.write() 的输出
- karabiner - 如何交换破折号和下划线(karabiner)
- c# - C# 有没有办法在触发计时器时“重新启动”线程?