Val*_*luk 3 javascript string jquery
假设我在JavaScript中有一个字符串,如下所示:
var str = "Item%5B9%5D.Something%5B0%5D.Prop1=1&Item%5B9%5D.Something%5B0%5D.Prop2=False&Item%5B9%5D.Something%5B0%5D.Prop3=10%2F04%2F2013+00%3A00%3A00&Item%5B9%5D.Something%5B1%5D.Prop1=2&Item%5B9%5D.Something%5B1%5D.Prop2=False&Item%5B9%5D.Something%5B1%5D.Prop3=10%2F04%2F2013+00%3A00%3A00&Item%5B9%5D.Something%5B2%5D.Prop1=3&Item%5B9%5D.Something%5B2%5D.Prop2=False&Item%5B9%5D.Something%5B2%5D.Prop3=29%2F04%2F2013+00%3A00%3A00&Item%5B9%5D.Something%5B3%5D.Prop1=4&Item%5B9%5D.Something%5B3%5D.Prop2=False&Item%5B9%5D.Something%5B3%5D.Prop3=29%2F04%2F2013+00%3A00%3A00"
Run Code Online (Sandbox Code Playgroud)
并希望它看起来像这样:
var str = "Something%5B0%5D.Prop1=1&Something%5B0%5D.Prop2=False&Something%5B0%5D.Prop3=10%2F04%2F2013+00%3A00%3A00&Something%5B1%5D.Prop1=2&Something%5B1%5D.Prop2=False&Something%5B1%5D.Prop3=10%2F04%2F2013+00%3A00%3A00&Something%5B2%5D.Prop1=3&Something%5B2%5D.Prop2=False&Something%5B2%5D.Prop3=29%2F04%2F2013+00%3A00%3A00&Something%5B3%5D.Prop1=4&Something%5B3%5D.Prop2=False&Something%5B3%5D.Prop3=29%2F04%2F2013+00%3A00%3A00"
Run Code Online (Sandbox Code Playgroud)
即删除所有项目%5BX%5D.部分
我该怎么做呢?我想过使用类似的东西:
str = str.substring(str.indexOf('Something'), str.length);
Run Code Online (Sandbox Code Playgroud)
但显然只会删除第一次出现.
此外,%5B和%5D之间的数字可以是任何数字,不一定是9.
这似乎应该很简单,但出于某种原因,我很难过.我在SO上发现了一些相似的东西,但没有任何东西可以处理所有上述标准.
您可以使用正则表达式:
str = str.replace(/Item[^.]+\./g, '');
Run Code Online (Sandbox Code Playgroud)
或者如果你想要更精确的东西,因为你想要保持Item%6B3%4D:
str = str.replace(/Item%5B.%5D\./g, '');
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3167 次 |
| 最近记录: |