【问题标题】:How to change (manipulate) char string depend on giving value如何更改(操作)char 字符串取决于赋予值
【发布时间】:2022-01-23 11:20:05
【问题描述】:

我想问如何操作字符串中的char取决于赋予值

我的字符串

"---x---x---x------x"

当我输入一个值 = 2

char "x" 2 次改成 "o"

我的期望值是

"---o---o---x------x"

提前谢谢你

【问题讨论】:

  • 欢迎来到 Stack Overflow,到目前为止,您是否尝试过任何方法来解决此问题(请提供您的尝试)?您可以查看使用for 循环遍历字符串中的每个字符并使用它来构建一个新字符串,如果遇到x,请使用o 而不是x 同时还保留一个计数器看看你到目前为止看到了多少个x。
  • 是的,我使用过各种方式,例如 for 和 loop。但我不明白如何根据给定值替换字符串中的相同字符

标签: javascript console-application console.log


【解决方案1】:
const x = "---x---x---x------x";
let input = 2;

let output = [];
for (const dashes of x.split("x")) {
  output.push(dashes);
  if (input > 0) {
    input--;
    output.push("o");
  } else {
    output.push("x");
  }
}
output.pop();
output = output.join("");

console.log({ output });

【讨论】:

  • 第8行我想问,“输入--”是干什么用的?
  • 我正在减少输入以仅添加所需数量的o
【解决方案2】:

您可以循环并将x 替换为o,直到value 变为0(这是假值)

let str = "---x---x---x------x";
let value = 2;

while (value--) {
  str = str.replace("x", "o");
}

console.log(str);

【讨论】:

    【解决方案3】:

    基于解决方案here

    var str = "---x---x---x------x"
    var n = 0
    var N = 2
    var newStr = str.replace(/x/g,s => n++<N ? 'o' : s)
    

    【讨论】:

    • 作为一个初学者,我没有意识到有一些简单的方法可以解决这个问题:D
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-02
    • 1970-01-01
    • 1970-01-01
    • 2020-05-27
    • 1970-01-01
    相关资源
    最近更新 更多