例如,我有一个字符串:
"This is the ### example"
我想从上面的字符串中将###
子串起来吗?
哈希键的数量可能会有所不同,因此我希望找出并替换###
模式,例如001
。
有人可以帮忙吗?
答案 0 :(得分:3)
您也可以进行替换。我熟悉这个的C#版本,
string stringValue = "Thia is the ### example";
stringValue.Replace("###", "");
这将从上面的字符串中完全删除###。你必须再次知道确切的字符串。
在JavaScript中,它类似 - .replace
(使用小写r
)。所以:
var stringValue = "This is the ### example";
var replacedValue = stringValue.replace('###', '');
答案 1 :(得分:1)
您需要为此调查“Regular Expressions”,或者,如果您知道您感兴趣的字符的精确位置和长度,则可以使用String的.substring
方法。
答案 2 :(得分:0)
如果知道字符串的其余部分,只需获取所需的部分:
var example = str.substr(12, str.length - 20);
答案 3 :(得分:0)
如果你想捕获多个#
个字符,那么你需要正则表达式:
var myString = "This is #### the example";
var result = myString.replace(/#+/g, '');
如果您也想删除空格,可以使用正则表达式/#+\s|\s#+|#+/
。
答案 4 :(得分:0)
javascript匹配方法将返回与正则表达式匹配的子字符串数组。您可以使用它来确定要替换的匹配字符数。假设您想用随机数替换每个octothorpe,您可以使用如下代码:
var exampleStr = "This is the ### example";
var swapThese = exampleStr.match(/#/g);
if (swapThese) {
for (var i=0;i<swapThese.length;i++) {
var swapThis = new RegExp(swapThese[i]);
exampleStr = exampleStr.replace(swapThis,Math.floor(Math.random()*9));
}
}
alert(exampleStr); // or whatever you want to do with it
请注意,代码只会循环显示数组的长度:if (swapThese) {
此检查是必要的,因为如果match方法找不到匹配项,则返回null而不是空数组。试图迭代空值会破坏。