Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/extjs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用条件获取角色的位置_Javascript - Fatal编程技术网

Javascript 使用条件获取角色的位置

Javascript 使用条件获取角色的位置,javascript,Javascript,我得到了一个带有一些别名的字符串(例如“MM”)。 我使用“@”字符初始化别名。字符串可能类似于“此消息发送到@GR,MM.很高兴见到您!”。也许还有“@GR这句话不是很有效,但也应该有用,嗯” 我的函数必须从字符串中删除给定的别名。也许最好的也是唯一的方法是在别名本身的左右两侧进行检查(“@”或“,”)。 有人知道如何在别名旁边左右检查以决定是否删除吗 下划线.js和下划线.string都可以 例如: 函数removeAlias(别名,说明)返回说明 如果说明包含别名,请删除并返回,但不包含别

我得到了一个带有一些别名的字符串(例如“MM”)。 我使用“@”字符初始化别名。字符串可能类似于“此消息发送到@GR,MM.很高兴见到您!”。也许还有“@GR这句话不是很有效,但也应该有用,嗯”

我的函数必须从字符串中删除给定的别名。也许最好的也是唯一的方法是在别名本身的左右两侧进行检查(“@”或“,”)。 有人知道如何在别名旁边左右检查以决定是否删除吗

下划线.js和下划线.string都可以

例如:

函数removeAlias(别名,说明)返回说明

如果说明包含别名,请删除并返回,但不包含别名

案例:

“@ME,MH在这个字符串中,删除MH” 结果:@ME在此字符串中,删除MH“

“@MH在此字符串中,删除MH” 结果:在此字符串中,删除MH

“@GR在此字符串中,删除,MH” 结果:“@GR在此字符串中,删除”

查找并使用字符串。替换:

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你的问题不清楚。请添加一些例子、案例和期望的结果。仍然是你的答案条件还不清楚……我想你可能需要编写一个计算机程序来完成这项工作。