0

これを別の質問に投稿しましたが、別の質問だと思うので、別の質問を作成しました。

replace メソッドには正規表現が含まれています。式はすべて正しく一致し、置換されます。これreplace(/\(he\/\she\)/g,"he")とこれreplace(/\(he\/\she\)/g,"she")

交換しないでください...理由はわかりません。これがコードです。

function replaceGender(name, gender, comment) {

  if(gender == "m")
  {
    comment = comment.replace(/\(name\)/g, name).replace(/\(He\/She\)/g,"He").replace(/\(His\/\Her\)/g,"His").replace(/\(his\/\her\)/g,"his").replace(/\(he\/\she\)/g,"he").replace(/\(him\/\her\)/g,"him");
  }
  else if(gender == "f")
  {   
    comment = comment.replace(/\(name\)/g, name).replace(/\(He\/She\)/g,"She").replace(/\(His\/\Her\)/g,"Her").replace(/\(his\/\her\)/g,"her").replace(/\(he\/\she\)/g,"she").replace(/\(him\/\her\)/g,"her");
  }

  return comment;
};

「彼女ははっきりと自信を持って読みます。彼女のライティング スキルは、彼女のレベルに比べて非常に優れています。ジェナが一生懸命働き続ければ、(彼/彼女は) 将来、英語を上手に話せるようになると確信しています。」

すべてが正常に置き換えられました..ただ(彼/彼女)

4

2 に答える 2

2

/\(he\/\she\)/g"(he/he)" を置き換えます (\s空白に一致するため)。

/\(he\/she\)/g「(he/she)」を置き換えたい場合はそうすべきです。

于 2013-02-14T08:54:31.767 に答える
0

これは動作します..

function replaceGender(name, gender, comment) {

  if(gender == "m")
  {
    comment = comment.replace(/\(name\)/g, name).replace(/\(He\/She\)/g,"He").replace(/\(His\/Her\)/g,"His").replace(/\(his\/her\)/g,"his").replace(/\(he\/she\)/g,"he").replace(/\(him\/her\)/g,"him");
  }
  else if(gender == "f")
  {   
    comment = comment.replace(/\(name\)/g, name).replace(/\(He\/She\)/g,"She").replace(/\(His\/Her\)/g,"Her").replace(/\(his\/her\)/g,"her").replace(/\(he\/she\)/g,"she").replace(/\(him\/her\)/g,"her");
  }
  return comment;
};
于 2013-02-14T09:18:58.640 に答える