Javascript 使用条件获取角色的位置
我得到了一个带有一些别名的字符串(例如“MM”)。 我使用“@”字符初始化别名。字符串可能类似于“此消息发送到@GR,MM.很高兴见到您!”。也许还有“@GR这句话不是很有效,但也应该有用,嗯” 我的函数必须从字符串中删除给定的别名。也许最好的也是唯一的方法是在别名本身的左右两侧进行检查(“@”或“,”)。 有人知道如何在别名旁边左右检查以决定是否删除吗 下划线.js和下划线.string都可以 例如: 函数removeAlias(别名,说明)返回说明 如果说明包含别名,请删除并返回,但不包含别名 案例: “@ME,MH在这个字符串中,删除MH” 结果:@ME在此字符串中,删除MH“ “@MH在此字符串中,删除MH” 结果:在此字符串中,删除MH “@GR在此字符串中,删除,MH” 结果:“@GR在此字符串中,删除”查找并使用字符串。替换:Javascript 使用条件获取角色的位置,javascript,Javascript,我得到了一个带有一些别名的字符串(例如“MM”)。 我使用“@”字符初始化别名。字符串可能类似于“此消息发送到@GR,MM.很高兴见到您!”。也许还有“@GR这句话不是很有效,但也应该有用,嗯” 我的函数必须从字符串中删除给定的别名。也许最好的也是唯一的方法是在别名本身的左右两侧进行检查(“@”或“,”)。 有人知道如何在别名旁边左右检查以决定是否删除吗 下划线.js和下划线.string都可以 例如: 函数removeAlias(别名,说明)返回说明 如果说明包含别名,请删除并返回,但不包含别
function removeAlias(alias, text) {
// look for a 'word boundary' (\b)
// followed by zero or more '@' caracters (@*)
// followed by the given alias
// followed by another 'word boundary'
var regex = new RegExp("\b@*"+alias+"\b");
// replace by empty string
var result = text.replace(regex, "");
return result;
}
也许你需要根据你的实际需求调整实际的正则表达式。根据你发布的案例,我认为这可能是你想要的
function removeAlias(alias, description) {
return description.replace(new RegExp('[@,]*' + alias + ' *'), '');
}
因此,
@GR这句话不是很有效,但也应该有效,MM
应该变成这句话不是很有效,但也应该有效
?谢谢你的回复。不,别名也可能在这行的末尾,这是正确的。嗨@Patrik你的问题不清楚。请添加一些例子、案例和期望的结果。仍然是你的答案条件还不清楚……我想你可能需要编写一个计算机程序来完成这项工作。