[英]How to use regex to strip [a-z]/[a-z]/ from a string?
假设一个字符串是abc/xyz/IMPORTANT/DATA/@#!%@!%
,我只想要IMPORTANT/DATA/!%#@%!#%
我在正则表达式上很糟糕,并且还没有学过JavaScript API
使用indexOf
和substring
。 你不需要正则表达式。
您可以使用indexOf
的start
参数从给定位置进行搜索。 如果你在第一个/
之后搜索,你可以找到第二个/
的索引。
s = "abc/def/ghi/jkl";
s = s.substring(s.indexOf('/', s.indexOf('/') + 1) + 1);
document.writeln(s); // "ghi/jkl"
请注意,这假设始终至少有两个/
。 如果没有,这将让s
,因为它是。
s = "abc/xyz";
s = s.substring(s.indexOf('/', s.indexOf('/') + 1) + 1);
document.writeln(s); // "abc/xyz"
如果你想使用正则表达式,它是这样的:
s = "abc/def/ghi/jkl";
s = s.replace(/[a-z]+\/[a-z]+\//, '');
document.writeln(s); // "ghi/jkl"
同样,这假设总是至少有两个/
。
如果文本总是像您当前的示例,您可以简单地使用substring
和indexOf
从“/”的第二次出现开始剪切它。
否则/([^\\/]+\\/[^\\/]+\\/)/
,或Blair的答案可能是一个很好的正则表达式。 或者/^([^\\/]+\\/[^\\/]+\\/)/
如果它必须从字符串的开头开始。
我认为
yourstring.replace(/[a-z]+\/[a-z]+\/(.+)/g, "$1");
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.