假设有一个字符串是abc/xyz/IMPORTANT/DATA/@#!%@!%
,我只想要IMPORTANT/DATA/!%#@%!#%
我很菜,不擅长正则表达式,也还没学过JavaScript API
假设有一个字符串是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"
再次强调,这假设至少有两个/
。
我认为
yourstring.replace(/[a-z]+\/[a-z]+\/(.+)/g, "$1");
substring
和indexOf
从第二个“/”处开始截取它。/([^\/]+\/[^\/]+\/)/
或Blair的答案可能是一个不错的正则表达式。
如果必须从字符串开头开始,则使用/^([^\/]+\/[^\/]+\/)/
。
abc/xyz/
和IMPORTANT/DATA/!%#@%!#%
之间有什么区别?abc/xyz/IMPORTANT/DATA/
或者abc/MORE/IMPORTANT/DATA/
呢?是大小写敏感的吗?如果不是,我认为你想要的是不可能实现的。你必须根据它们的结构以某种方式区分它们的部分。 - Felix Kling