javascript溢出以获取单词的一部分
我尝试使用javascript spilt从javascript溢出以获取单词的一部分,javascript,Javascript,我尝试使用javascript spilt从What#a#u new%20day 我试过这样的代码: <script> var word="What#a_new%20day"; var newword = word.split("%20", 1).split("_", 2); alert(newword); </script> var word="What#a_new%20day"; var newword = word.substr(word.indexOf('new
What#a#u new%20day
我试过这样的代码:
<script>
var word="What#a_new%20day";
var newword = word.split("%20", 1).split("_", 2);
alert(newword);
</script>
var word="What#a_new%20day";
var newword = word.substr(word.indexOf('new'),3)
alert(newword);
var word=“什么是新的%20天”;
var newword=word.split(“%20”,1).split(“\u2”);
警惕(新词);
但导致:
uncaughtypererror:objectwhat#a#u new没有方法“split”
也许有更明智的方法来获得我需要的信息。有人能帮我吗?谢谢。返回一个数组,因此第二个拆分
尝试对第一个返回的数组进行操作,而不是对字符串进行操作,这会导致TypeError。您还需要在第二次调用split
后添加正确的索引,或者newword
也将是一个数组,而不是您期望的字符串。将其更改为:
var newword = word.split("%20", 1)[0].split("_", 2)[1];
这将拆分word
,然后拆分结果数组索引0处的字符串,并将新数组索引1处的字符串值分配给newword正则表达式
var word="What#a_new%20day";
var newword = word.match(/_(.+)%/)[1];
alert(newword);
这将返回正则表达式((…)
)中捕获的第一个([1]
)组((…)
),该组是
,后跟任何字符(
)一次或多次(+
),后跟%
返回一个数组:
字分割(“%20”,1)
提供一个数组,因此您无法执行以下操作:
(上面的结果)。拆分(“25;”,2) 拆分的结果是数组,而不是字符串。所以你需要做的是
<script>
var word="What#a_new%20day";
var newword = word.split("%20", 1)[0].split("_", 2);
alert(newword);
</script>
var word=“什么是新的%20天”;
var newword=word.split(“%20”,1)[0]。split(“\u1”,2);
警惕(新词);
请注意[0]如果您的目标是拆分,请尝试拆分,但在性能方面,最好执行以下操作:
<script>
var word="What#a_new%20day";
var newword = word.split("%20", 1).split("_", 2);
alert(newword);
</script>
var word="What#a_new%20day";
var newword = word.substr(word.indexOf('new'),3)
alert(newword);
实例:
Split在文本中搜索%20
的所有实例,而indexOf查找第一个实例,substr在性能方面也相当便宜
关于拆分与子字符串的JsPerf统计(一般情况):您试图解决的一般问题是什么?这是一个非常具体的例子,所以你可能会得到很多不一定能解决一般问题的具体回答。请不要链接到w3schools。它不是学习任何东西的好资源。看见这里是等效的MDN页面:+1,用于提供一个通常可能更有用的答案。