我试图在问号后用空白替换所有内容。
假设我有一个如下字符串:
var str = "/root/Users?SkillId=201;"
现在我想用空白替换所有内容吗?。
预期输出: "/root/Users"
我尝试了下面的解决方案:
var str = "/root/Users?SkillId=201;".replace(/[^? ]/g, "");
console.log(str); // output : ?
str = str.split('?')[0] // though worked but not readable
我不想使用for循环 .Isnt还有更好的方法吗?
答案 0 :(得分:16)
这应该有帮助
var str = "/root/Users?SkillId=201;"
str = str.replace(/\?.*$/g,"");
console.log(str);
答案 1 :(得分:6)
另一个选择是在'?':
之前获取子字符串 str = str.substr(0, str.indexOf('?'));
答案 2 :(得分:3)
匹配?
之前的内容
var str = "/root/Users?SkillId=201;"
var a = str.match(/(.*)\?/);
console.log(a[1])
答案 3 :(得分:3)
只需使用JavaScript功能
var str = "/root/Users?SkillId=201;";
var str = str.substring( 0, str.indexOf("?")-1 );
console.log(str);
答案 4 :(得分:2)
var str = "/root/Users?SkillId=201;" var parts = str.split('?', 2);
parts [0]包含'?'之前的字符串
答案 5 :(得分:1)
Find the index location of the '?' character,
if the resulting index is greater than -1; then;
extract the new string; starts at index 0 to the
nth index location of the '?' character
// get the index of the first occurrence of '?'
var qMarkIndex = str.indexOf('?');
// '?` character exist
if(qMarkIndex > -1)
str = str.substr(0, qMarkIndex);
console.log(str);
添加检查?
字符是否存在的条件语句可确保;如果由于某种原因,str
不包含?
字符,则字符串保持不变。