gpt4 book ai didi

javascript - JS 正则表达式挑战 : replacing recurring patterns of commas and numbers

转载 作者:行者123 更新时间:2023-12-03 10:00:48 24 4
gpt4 key购买 nike

我正在摆弄一个程序,将日本地址转换为罗马字(拉丁字母),以便在紧急广播系统中为居住在日本城市的外国人使用。

紧急疏散警告会同时发送到区域列表。我希望能够复制/粘贴这个日语区域列表并吐出对应的罗马字母。

日语输入示例:3条4~12丁目、15~18条12丁目、2、3条5丁目(此列表分为三个区域,其中条(jo)和丁目(chome)分别表示南北和东西方向的街区号)

这些数字本身就很好,而且我已经编写了代码,将字符“条”和“丁目”替换为相应的罗马字母。我的程序当前输出前两个区域(正确)为“3-jo 4~12-chome”和“15~18-jo 12-chome”

但是,我想替换最后一个区域“2、5条6丁目”(表示 6-chome 的第 2 block 和第 5 block )中的模式,以便输出为“< strong>2&5条六丁目"

表示该模式的正则表达式为\d*、\d*(注意日语格式逗号)

我还在习惯正则表达式 - 如何用“&”替换所有 \d*、\d* 模式中的逗号?请注意,我不能简单地替换所有逗号,因为它们也用于分隔区域。

最佳答案

最简单的方法是隔离像 15、18 这样的序列并替换其中的所有逗号。

text = "3条4~12丁目、15~18条12丁目、2、3条5丁目";
text.
replace(/(?:\d+、)+\d+/g, function(match) {
return match.replace(/、/g, "&");
}).
replace(/条/g, '-jō ').
replace(/丁目/g, '-chōme').
replace(/~/g, '-').
replace(/、/g, ', ')
// => "3-jō 4-12-chōme, 15-18-jō 12-chōme, 2&3-jō 5-chōme"

(另外......你到底住在哪里,有按基本方向排列好的丁?我住的地方,地址一团糟......:P)

(另外,感谢 sainaen 将我的正则表达式挑剔到完美:) )

关于javascript - JS 正则表达式挑战 : replacing recurring patterns of commas and numbers,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30611125/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com