简体   繁体   English

如何在拆分javascript中使用正则表达式[或]?

[英]how to use regex [or] in split javascript?

I have string in user is dynamic (user or users) and i want get string: abc 我在用户中的字符串是动态的(用户或用户),我想得到字符串:abc

i have block code: 我有块代码:

var str = '<span><a href="domain.com/user/abc/"></span>';

var s = str.split('<a href="domain.com/(?:user|users)/')
s=s[1].split('">')[0];

any solution can define regex in split. 任何解决方案都可以在split中定义正则表达式。

Thankyou your solution. 谢谢你的解决方案。

This should work: 这应该工作:

var mySubString = str.split('user').pop().split('/')[1];

https://codepen.io/anon/pen/KLpyJM?editors=1111 https://codepen.io/anon/pen/KLpyJM?editors=1111

Here is one more solution. 这是另一个解决方案。 First split the string with separator / . 首先用分隔符/分割字符串。

Suppose that should be either user or users in the result array. 假设应该是结果数组中的用户用户

Property indexOf of absent element equals -1. 属性indexOf缺席元素等于-1。 And 'abc' (or smth else) will always be the next to user|users. 并且'abc'(或其他)将始终是用户的下一个用户。

So, index of 'abc' will be indexOf(present element) + indexOf(absent element) + 2 . 因此,'abc'的索引将是indexOf(present element) + indexOf(absent element) + 2 Thus it's simplest way to find 'abc' 因此找到'abc'是最简单的方法

var str = '<span><a href="domain.com/user/abc/"></span>';
var s = str.split('/');
s = s[s.indexOf('user') + s.indexOf('users')+2]

Assuming only user is variable, you can split for all '/' characters. 假设只有用户是变量,您可以拆分所有'/'字符。

var str = '<span><a href="domain.com/user/abc/"></span>';
var s = str.split('/');
console.log(s[2]);

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM