关闭。这个问题需要更加关注。它目前不接受答案。**想改进这个问题吗?**编辑这篇文章,更新这个问题,使它只关注一个问题。
昨天关门了。改进这个问题我有这样的字符串:
"abc:12:toto:tata:titi"
我想把每根绳子 ":" 用一个 split() ,就是这样 "toto" , "tata" 及 "titi" 在这种情况下。
":"
split()
"toto"
"tata"
"titi"
esbemjvw1#
我只想把每根绳子 : 如果我们使用 split() 与…结合 filter() 我们可以过滤掉任何数字部分。为了删除第一个,我添加了一个 splice(1) ```const input = 'abc:12:toto:tata:titi';const res = input.split(':').slice(1).filter(n => isNaN(n) && isNaN(parseFloat(n)));
:
filter()
splice(1)
console.log(res);
["toto","tata","titi"]
6jygbczu2#
假设冒号分隔的值始终是纯数字或纯字母单词:
var input = "abc:12:toto:tata:titi"; var matches = input.replace(/:\d+/g, "").split(":"); matches.shift(); console.log(matches);
上的正则表达式替换 :\d+ 删除数字元素。然后我们在冒号上拆分,并移开第一个元素,它不能是匹配的,因为它前面没有冒号。
:\d+
drkbr07n3#
也许你想要这样的东西?
const str = 'abc:12:toto:tata:titi'; const regex = /\w{4,}/g; console.log(str.match(regex))
wooyq4lh4#
你可以简单地使用 String.prototype.split() :
String.prototype.split()
const str = 'abc:12:toto:tata:titi'; const words = str.split(':'); console.log(words);
输出: Array(5) [ "", "12", "toto", "tata", "titi" ] 正则表达式是不必要的,因为您的分隔符是常量,变化很简单。如果您确实只想获取紧接冒号(“:”)之后的alpha字符串,请使用:
Array(5) [ "", "12", "toto", "tata", "titi" ]
const str = 'abc:12:toto:tata:titi'; const filteredWords = words.slice(1).filter(word => !isNaN(parseInt(word))); console.log(filteredWords)
输出: Array(5) [ "toto", "tata", "titi" ]
Array(5) [ "toto", "tata", "titi" ]
4条答案
按热度按时间esbemjvw1#
我只想把每根绳子
:
如果我们使用split()
与…结合filter()
我们可以过滤掉任何数字部分。为了删除第一个,我添加了一个
splice(1)
```const input = 'abc:12:toto:tata:titi';
const res = input.split(':').slice(1).filter(n => isNaN(n) && isNaN(parseFloat(n)));
console.log(res);
[
"toto",
"tata",
"titi"
]
6jygbczu2#
假设冒号分隔的值始终是纯数字或纯字母单词:
上的正则表达式替换
:\d+
删除数字元素。然后我们在冒号上拆分,并移开第一个元素,它不能是匹配的,因为它前面没有冒号。drkbr07n3#
也许你想要这样的东西?
wooyq4lh4#
你可以简单地使用
String.prototype.split()
:输出:
Array(5) [ "", "12", "toto", "tata", "titi" ]
正则表达式是不必要的,因为您的分隔符是常量,变化很简单。如果您确实只想获取紧接冒号(“:”)之后的alpha字符串,请使用:
输出:
Array(5) [ "toto", "tata", "titi" ]