如何替换六个字符的倍数后的序列?
How to replace a sequence after a multiple of six characters?
我想用正则表达式替换一个字符串,仅当它出现在六位数字的倍数之后时才对字母 L 说“000000”。我在 iOS 上使用 Siri 快捷方式,我的项目是一个管理二进制字符串的系统。我当前的方法是将基本字符串拆分为 6 个字节的块,然后拆分为 运行 我的正则表达式,但这效率不高,而且它会因较大的字符串而崩溃。
例如:
Input: “000000010110100000000000”
Split for human reading: “000000-010110-100000-000000”
Desired output: “L010110100000L”
我尝试过 (?=(\d{6})*)000000
等符号,以及用 +
替换 *
,更改组,将 \d
写六次而不是 [=16] =] 和其他一些东西,但我无法弄清楚如何将其强制为六的倍数。通常,我会得到如下输出:
“L0101101L00000” instead of “L010110100000L”
有没有办法确保我要替换的字符串后面有六位数字(不是字符)的倍数?或者,有没有办法在不删除字符的情况下,在每六个字符之后放置一个 space 之类的字符? Siri Shortcuts 使用正则表达式的 ICU 风格。
我想用正则表达式替换一个字符串,仅当它出现在六位数字的倍数之后时才对字母 L 说“000000”。我在 iOS 上使用 Siri 快捷方式,我的项目是一个管理二进制字符串的系统。我当前的方法是将基本字符串拆分为 6 个字节的块,然后拆分为 运行 我的正则表达式,但这效率不高,而且它会因较大的字符串而崩溃。
例如:
Input: “000000010110100000000000”
Split for human reading: “000000-010110-100000-000000”
Desired output: “L010110100000L”
我尝试过 (?=(\d{6})*)000000
等符号,以及用 +
替换 *
,更改组,将 \d
写六次而不是 [=16] =] 和其他一些东西,但我无法弄清楚如何将其强制为六的倍数。通常,我会得到如下输出:
“L0101101L00000” instead of “L010110100000L”
有没有办法确保我要替换的字符串后面有六位数字(不是字符)的倍数?或者,有没有办法在不删除字符的情况下,在每六个字符之后放置一个 space 之类的字符? Siri Shortcuts 使用正则表达式的 ICU 风格。