我正在javasctipt上使用长字符串,我必须替换我不能预先确定它们的长度和值的子字符串,在那里我不能使用str.replace(/substr/g,'new string')
,它不允许替换a我可以确定其起始位置及其长度的子串。
我可以使用string substr (string, start_pos, length, newstring)
之类的功能吗?
答案 0 :(得分:4)
您可以使用dst_addr = (unsigned int*)((unsigned int)dst_base_addr + dst_offset);
的组合和使用substr
的连接,如下所示:
+

答案 1 :(得分:2)
没有内置函数可以根据索引和长度替换新内容。扩展string的原型(或简单地定义为函数)并使用String#substr
方法生成字符串。
String.prototype.customSubstr = function(start, length, newStr = '') {
return this.substr(0, start) + newStr + this.substr(start + length);
}
console.log('string'.customSubstr(2, 3, 'abc'));
// using simple function
function customSubstr(string, start, length, newStr = '') {
return string.substr(0, start) + newStr + string.substr(start + length);
}
console.log(customSubstr('string', 2, 3, 'abc'));

答案 2 :(得分:1)
在JavaScript中,您有substr
和substring
:
var str = "mystr";
console.log(str.substr(1, 2));
console.log(str.substring(1, 2));

他们在第二个参数上有所不同。对于substr
,长度(与您提出的长度相同),substring
是最后一个索引位置。你没有要求第二个,但只是记录它。