Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/redis/2.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 JS替换使用相同的短语_Javascript - Fatal编程技术网

Javascript JS替换使用相同的短语

Javascript JS替换使用相同的短语,javascript,Javascript,如果字符串包含相同的短语,如何替换该字符串 var campaign = "sub.site.com"; campaign = campaign.replace("site.com", "campaign 1"); campaign = campaign.replace("sub.site.com", "campaign 2"); output = [{campaign: campaign}]; 在这种情况下,输出为sub.campaign 1。我希望它是活动2 var campaign =

如果字符串包含相同的短语,如何替换该字符串

var campaign = "sub.site.com";
campaign = campaign.replace("site.com", "campaign 1");
campaign = campaign.replace("sub.site.com", "campaign 2");
output = [{campaign: campaign}];
在这种情况下,输出为
sub.campaign 1
。我希望它是
活动2

var campaign = "sub.site.com";
campaign = campaign.replace("site.com", "campaign 1");// campaign = 'sub.campaign 1'
campaign = campaign.replace("sub.site.com", "campaign 2"); //there is no instance of 'sub.site.com' in 'sub.campaign 1'
output = [{campaign: campaign}];
您正在替换
sub.site.com
中的
site.com
位,因此它不匹配

更干净的方式

var campaign = "sub.site.com";
if(campaign === 'site.com') {
   output = [{campaign: 'campaign 1'}];
}
else if(campaign === 'sub.site.com') {
   output = [{campaign: 'campaign 2'}];
}


首先替换为最长的比赛?很简单:)谢谢
switch("sub.site.com"){
  case 'site.com':
    output = [{campaign: 'campaign 1'}];
    break;
  case 'sub.site.com':
    output = [{campaign: 'campaign 2'}];
    break;
  default:      
}