我有一个这样的字符串:
#ud %+^'()=%^'K%J+^K$#££½6 u896%+& 547900
我希望在第一个变量中捕获此#ud
,在第二个变量中捕获其他任何内容,但不包括第一个空格。
PS:#ud
可以更改为#u64
,#d
等。
我如何以干净简单的方式做到这一点?
答案 0 :(得分:2)
答案 1 :(得分:1)
您可以使用正则表达式来拆分字符串:
var re = /^(\S+)\s(.*)/;
var str = '#ud %+^\'()=%^\'K%J+^K$#££½6 u896%+& 547900';
alert(str.split(re).filter(Boolean));

/(\S+)\s(.*)/
正则表达式将匹配与(\S+)
不是空格的第一个字符并捕获它,然后捕获空格,然后捕获字符串的其余部分。捕获组是将文本添加到结果数组所必需的。 .filter(Boolean)
函数从数组中删除空项。