admin管理员组文章数量:1313747
I have this:
var str = A123B234C456;
I need to split it into ma-separated chunks to return something like this:
A,123,B,234,c,456
I thought a regular expression would be best for this, but I keep getting stuck. Essentially, I tried to do a string replace, but you cannot use a regular expression in the second argument.
I would love to keep it simple and clean and do something like this, but it does not work:
str = str.replace(/[\d]+/, ","+/[\d]+/);
But in the real world that would be too simple.
Is it possible?
I have this:
var str = A123B234C456;
I need to split it into ma-separated chunks to return something like this:
A,123,B,234,c,456
I thought a regular expression would be best for this, but I keep getting stuck. Essentially, I tried to do a string replace, but you cannot use a regular expression in the second argument.
I would love to keep it simple and clean and do something like this, but it does not work:
str = str.replace(/[\d]+/, ","+/[\d]+/);
But in the real world that would be too simple.
Is it possible?
Share Improve this question edited Aug 19, 2020 at 11:23 Peter Mortensen 31.6k22 gold badges110 silver badges133 bronze badges asked May 19, 2011 at 14:36 PaulPaul 1,5552 gold badges16 silver badges26 bronze badges3 Answers
Reset to default 7It may be more sensible to match the characters and then join them:
str = str.match(/(\d+|[^\d]+)/g).join(',');
But don't omit the quotes when you define the string:
var str = 'A123B234C456';
The string split method can be called with a regular expression.
If the regular expression has a capture group, the separator will be kept in the resulting array.
So here you go:
let c = "A123B234C456";
let stringsAndNumbers = c.split(/(\d+)/); // ["A", "123", "B", "234", "C", "456", ""]
Since your example ends with numbers, the last element will be empty. Remove empty array elements:
let stringsAndNumbers = c.split(/(\d+)/).filter(el => el != ""); // ["A", "123", "B", "234", "C", "456"]
Then join:
let stringsAndNumbers = c.split(/(\d+)/).filter(el => el != "").join(","); // "A,123,B,234,C,456"
You can do it by replace() using a regular expression.
For example,
var str = "A123B234C456";
str = str.replace(/([a-bA-B])/g, '$1,');
Now the value of str will be 'A,123,B234,C456'.
本文标签: Splitting a string into chunks by numeric or alpha character with JavaScriptStack Overflow
版权声明:本文标题:Splitting a string into chunks by numeric or alpha character with JavaScript - Stack Overflow 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.betaflare.com/web/1741917144a2404798.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论