php - 使用 RegEx 选择千位分隔符
问题描述
我需要更改其中包含数字的给定字符串中的小数点分隔符。
什么正则表达式代码只能选择字符串中的千位分隔符?
它只需要选择,当它周围有数字时。例如仅当123,456
我需要选择和替换时,
我正在将英文数字转换为波斯语(例如:Hello 123
变成Hello ۱۲۳
)。现在我也需要用波斯语版本替换小数点分隔符。但我不知道如何用正则表达式选择它。例如,Hello 121,534
大多数成为Hello ۱۲۱/۵۳۴
需要替换的字符,
是/
解决方案
使用带有环视的正则表达式。
$new_string = preg_replace('/(?<=\d),(?=\d)/', '/', $string);
(?<=\d)
表示逗号前必须有数字,(?=\d)
表示逗号后必须有数字。但由于这些是环视,它们不包含在匹配中,因此它们不会被替换。
推荐阅读
- ruby-on-rails - 更新到 3.1 后,rails 控制台上没有显示任何内容
- python - Django Social Auth永久更新Django App中的名字和姓氏
- php - Codeigniter 不允许在 iframe 中获取媒体
- python-3.x - tkinter 显示部分输出。部分内容不可见
- python - 没有格式的 Python Flask 博客消息
- c++ - 带文件输入但不带文件输出的字符串
- sql - SQL Server 中的按月数据透视(月份将动态变化)
- spring-boot - @RequestMapping 注解是 DWR 的替代品吗?
- ssl - 我们如何使用 TLS/SSL 来保护 SOCKS5 协议?
- flutter - dart - 颤动单个子滚动视图更改屏幕的小部件布局