字符串不能代替单词

时间:2019-02-20 02:39:10

标签: javascript replace

我的价值观似乎是正确的;但是,我的替换内容并没有替换为我的内容。

<html>
<head>
</head>
<body>
<input type="text" onkeyup="filter_change(this)" />
<div class="parent">
  <div class="checkbox_container">
    <input type="checkbox" id="checkbox_1" value="checkbox_1" class="checkbox_input">
    <label for="checkbox_1" class="checkbox_label">checkbox_1</label>
  </div>
  <div class="checkbox_container">
    <input type="checkbox" id="checkbox_2" value="checkbox_2" class="checkbox_input">
    <label for="checkbox_2" class="checkbox_label">checkbox_2</label>
  </div>
  <div class="checkbox_container">
    <input type="checkbox" id="checkbox_3" value="checkbox_3" class="checkbox_input">
    <label for="checkbox_3" class="checkbox_label">checkbox_3</label>
  </div>
  <div class="checkbox_container">
    <input type="checkbox" id="checkbox_4" value="checkbox_4" class="checkbox_input">
    <label for="checkbox_4" class="checkbox_label">checkbox_4</label>
  </div>
  <div class="checkbox_container">
    <input type="checkbox" id="checkbox_5" value="checkbox_5" class="checkbox_input">
    <label for="checkbox_5" class="checkbox_label">checkbox_5</label>
  </div>
  <div class="checkbox_container">
    <input type="checkbox" id="checkbox_10" value="checkbox_10" class="checkbox_input">
    <label for="checkbox_10" class="checkbox_label">checkbox_10</label>
  </div>
  <div class="checkbox_container">
    <input type="checkbox" id="checkbox_100" value="checkbox_100" class="checkbox_input">
    <label for="checkbox_100" class="checkbox_label">checkbox_100</label>
  </div>
  <div class="checkbox_container">
    <input type="checkbox" id="checkbox_1000" value="checkbox_1000" class="checkbox_input">
    <label for="checkbox_1000" class="checkbox_label">checkbox_1000</label>
  </div>
  <div class="checkbox_container">
    <input type="checkbox" id="checkbox_10000" value="checkbox_10000" class="checkbox_input">
    <label for="checkbox_10000" class="checkbox_label">checkbox_10000</label>
  </div>
  <div class="checkbox_container">
    <input type="checkbox" id="checkbox_15000" value="checkbox_15000" class="checkbox_input">
    <label for="checkbox_15000" class="checkbox_label">checkbox_15000</label>
  </div>
  <div class="checkbox_container">
    <input type="checkbox" id="checkbox_20000" value="checkbox_20000" class="checkbox_input">
    <label for="checkbox_20000" class="checkbox_label">checkbox_20000</label>
  </div>
</div>
</body>
</html>

正确测试substringIndex的值 你的 8

不正确检查wiseProverb是否已从“动作胜于雄辩”中更新。

您和您的期望有所不同。请参见下面的重点内容。

您的

行动胜于雄辩。

预期

行动胜于雄辩。

使用wiseProverb =“正确测试substringIndex的值”您不必大声喊叫。“

您的

18

不正确检查wiseProverb是否已从“您不必大声喊叫”中更新。

您和您的期望有所不同。请参见下面的重点内容。

您的

您不必大声喊叫。

预期

您不必大声说话。

3 个答案:

答案 0 :(得分:2)

您需要在replace之后为变量重新赋值,因为它不会更改原始字符串。

wiseProverb = wiseProverb.replace("shout", "speak");

答案 1 :(得分:2)

replace()方法在字符串中搜索指定的值或正则表达式,然后返回替换了指定值的新字符串。

您应该将该值重新分配给某些值,或者只打印转换。

var newWiseProverb = wiseProverb.replace("shout", "speak");
// this will only replace the first occurrence of that value.

// If you need to replace all occurrences you need to use a regex
var newWiseProverb = wiseProverb.replace(/shout/g, "speak");

// Or you can just  use that value in the placeholber
document.getElementById("anyplace").innerHTML = str.replace(/shout/g, "speak");

有关更多组合,请参见此https://stackoverflow.com/a/54715766/2523147

如果您想进一步挖掘,请参考https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/replace

  

replace()方法返回一个新字符串,该字符串具有部分或全部匹配的模式,并由替换项替换。模式可以是字符串或RegExp,而替换项可以是字符串或每个匹配项要调用的函数。如果pattern是字符串,则只会替换第一个匹配项。

答案 2 :(得分:1)

您没有将值分配回wiseProverb。通过调用.replace,您创建了一个带有替换的新字符串。

wiseProverb = wiseProverb.replace("shout", "speak");