Javascript拆分字符串
Javascript split the string
我有这样的字符串
"(length>10)&(length<100)"
我想要这个
(,length,>,10,),&,(,length,<,100,)
是否可以使用javascript split和regex。
"(length>10)&(length<100)".split( /([()><&])/ ).filter( Boolean )
["(", "length", ">", "10", ")", "&", "(", "length", "<", "100", ")"]
这会在以下任一位置拆分:(
、)
、>
、<
或&
("或"是由于周围的[]
)。
由于捕获(方括号周围的括号-虽然是ES5,所以IE8及以下版本不支持),所以可以保留拆分的字符。
最后,为了删除空字符串,我在数组上使用filter( Boolean )
(ES5也是,IE8及以下版本也不支持)。
result = subject.split(/'b|(?!'w)/);
这在字母数字字符和非字母数字字符之间的边界处进行拆分,另外在两个非alnum字符之间进行拆分。您可能在字符串的开始/结束处得到一个空匹配,因此需要丢弃零长度的结果。
我会选择全局match
,而不是split
,它的行为更像一个标记器:
var input = "(length>10)&(length<100)";
var tokens = input.match(/'d+|[a-zA-Z]'w*|[()]|[<>=&|]+/g);
它扫描输入并匹配以下模式(按顺序):
'd+ # one ore more digits
| # OR
[a-zA-Z]'w* # an identifier
| # OR
[()] # a single opening- or closing parenthesis
| # OR
[<>=&|]+ # one or more operators: '<=', '&', '|=', ...
相关文章:
- 将字符串拆分为数组时出现JavaScript错误
- 如何将字符串拆分为字符,但在javascript中保留空格
- 将字符串拆分为;只要它's不在»«
- 如何将以下字符串拆分为二维数组:
- 将javascript中的字符串拆分为一个数组
- 这个字符串拆分器可以重构或改进吗
- Regex将字符串拆分为大小适中的块
- 将字符串拆分为具有固定字符数的数组
- 将字符串拆分为数组
- 如何在没有javascript中的split函数的情况下将字符串拆分为单词
- 字符串拆分并获取第一次和最后一次出现
- node.js将接收到的字符串拆分为不同的变量,然后格式化为json字符串
- 如何将复杂的字符串拆分为多个部分
- 将字符串拆分为多维数组
- 将逗号分隔的字符串拆分为单独的字符串
- 如何在 Javascript 中以特定间隔将字符串拆分为数组
- Javascript 字符串拆分
- 使用 jQuery 将长字符串拆分为文本块
- 在javascript中将字符串拆分为句子
- 在将字符串拆分为硒时获取空输出