格式化圣经经文引用与正则表达式在javascript
Formatting bible verse reference with regex in javascript
我正在尝试将圣经经文引用等宽,以便单个数字的章节或经文有一个前导空间。
所以"4:5"变成了"4:5"answers"21"变成了"21"。
我写正则表达式有问题,请帮忙。
我尝试了很多变化,但它们基本上归结为(^'d|'d$), (^'d{1}|'d{1}$)和(^[^0-9]'d|[^0-9]'d$)以及它们之间的许多组合
inRef = inChapter + ':' + inVerse;
var inReg = /(^[0-9]{1}|[^0-9][0-9]{1}$)/g;
inRef = inRef.replace(inReg," $1");
console.log(inRef);
我从我的努力中得到的很多结果把引用像"6:15"变成"6:15"或"6:15"
提前感谢。
为什么要使用正则表达式?在将章节/节合并为x:y
格式之前,您已经将它们作为单独的数据,因此在它们仍然是单独的字符串时进行格式化:
if (inChapter.length == 1) { inChapter = ' ' + inChapter }
inRef = inChapter + ':' + inVerse;
使用正则表达式进行这种超级简单的转换类似于用核武器摧毁一个城市来从架子上取下一些灰尘,而不是使用鸡毛掸子。
给定字符串inChapter
和inVerse
,您可以这样做:
inRef = (" " + inChapter).slice(-2) + ":" + (" " + inVerse).slice(-2)
注意这里有两个空格" "
,我假设inChapter
和inVerse
只有1或2位数字。
var pad = " "; // this is now THREE spaces!
inRef = (pad + inChapter).slice(-pad.length) + ":" + (pad + inVerse).slice(-pad.length)
那么现在如果你运行所有的inChapter
和inVerse
对,你应该得到这样排列的字符串:
100:100
20:100
2:100
100: 10
100: 1
10: 10
10: 1
1: 1
相关文章:
- java.net和javascript之间正则表达式的差异
- Grunt匹配正则表达式
- 不同浏览器中的空白字符正则表达式行为
- 正则表达式在字符串中找到base64
- 子字符串/正则表达式以获取字符串中保存的 SRC 值
- 调用正则表达式匹配的函数
- 使用正则表达式评估电子邮件地址时出现性能问题
- Javascript 正则表达式 : ^[^/s/]+[a-z]{1,}[0-9]*[-_]*[^/][
- JavaScript正则表达式文本与RegExp对象
- 正则表达式只允许 x 个整数
- 使用正则表达式将输入格式设置为单字符逗号、单字符逗号等
- 改进用于验证付款金额的正则表达式
- 正则表达式与数字中的第二个点匹配
- 键按正则表达式以查找具有负值的小数
- 一个正则表达式,用于从JS中的HTML标记中删除id、样式和类属性
- 将po-box javascript正则表达式转换为c#regex
- 在mongoose中使用正则表达式在对象数组中进行查询搜索
- 使用正则表达式捕获“”并分割成阵列
- 将这些正则表达式从javascript转换为Java
- 用于验证JS中逻辑运算符表达式的正则表达式