在同时包含数字和字母的字符串中拆分数字和字母
Splitting numbers and letters in string which contains both
我正在尝试拆分以下(或类似)字符串"08-27-2015 07:25:00AM"。目前我使用
var parts = date.split(/[^0-9a-zA-Z]+/g);
导致
["02", "27", "2012", "03", "25", "00AM"]
问题出在00AM
部分。我也想把它分开。因此,完美的结果是:
["02", "27", "2012", "03", "25", "00", "AM"]
如果您正在寻找字母或数字序列,但不是两者混合的序列,您可以这样做。。。
"08-27-2015 07:25:00AM".match(/[a-zA-Z]+|[0-9]+/g)
导致…
["08", "27", "2015", "07", "25", "00", "AM"]
在|
的两侧,我们有一个由一个或多个字母组成的序列和一个或更多个数字组成的序列。因此,当它遇到一个字母时,它会收集所有连续的字母,直到它到达一个非字母,在这一点上,它会聚集所有连续的数字,依此类推
任何其他字符都不匹配,所以它不会成为结果的一部分。
var date = "08-27-2015 07:25:00AM";
var parts = date.replace(/([AP]M)$/i, " $1").split(/[^0-9a-z]+/ig);
var date = "05June2012";
var parts = date.replace(/([a-z]+)/i, " $1 ").split(/[^0-9a-z]+/ig);
如果日期始终是这种格式,则可以使用:
var parts = date.match(/([0-9]{2})-([0-9]{2})-([0-9]{4})'s([0-9]{2}):([0-9]{2}):([0-9]{2})(AM|PM)/).splice(1)
我会使用日期库来解析您想要的字段。这样就可以处理多种格式,而不用担心使用正则表达式进行解析。虽然DateJS有点老,但它在解析方面表现良好。
相关文章:
- 使用正则表达式匹配长度为六个字符的字母数字字符串
- Javascript-使用“”将toDateStringMonth从文本字符串解析为数字字符串;如果“;vs“;开关”;
- 在数字字符串的最后两个数字上加上小数
- 在JavaScript中,增加字母数字字符串末尾的数字
- 如何对字母数字字符串值进行排序
- 从数字字符串中获取整数
- Regex用于字母数字字符串中的数字计数
- 如何使用 Javascript/jQuery 将数字字符串递增 +1
- 使用 javascript 计算数字字符串
- parseInt 用于分析数字字符串的替代方法
- 任何输入或文本区域中数字字符串的事件侦听器
- Javascript:生成唯一数字字符串的最佳方法是什么
- JavaScript 中的随机字母数字字符串
- Google Charts - hAxis 上的数字/字符串问题(Jquery ajax JSON 数据)
- Lodash _.sortByOrder 数字字符串
- JavaScript 中一位数数字字符串的总和
- 在JavaScript中将非数字字符串转换为数字
- 使用 Lodash 对数字字符串数组进行排序
- 检查数字字符串是否包含十进制
- 显示以数字字符串形式存在的类