文字列のすべての一致を置き換えるにはどうすればよいですか?

borsTiHD

配列内の複数の文字列から、ある種の自作変数を置き換えようとしています。後で、ユーザーに置換を要求するプロンプトを作成しますが、最初のステップでは、それを「test」値(「###」)に置き換えようとしています。
ああ、私はそれを単純化したいと思っています(連鎖関数を使用して-私は自分自身のために発見したばかりであり、それがここでの問題です:D)。誰か助けてくれませんか?

私がこれまでに得たもの:

const replaceAll = (obj) => {
    obj.cmds.forEach((element, index, array) => {
        obj.cmds[index] = obj.cmds[index].match(/{.*?}/gmi).map((value) => {
            console.log('valuex', value)
            /*
            // Here the user should be asked for the replacement in the future.
            // const newValue = userPromp(value)
            */
            return obj.cmds[index].split(value).join('###')
        })
    })

    return obj
}

const newObj = replaceAll({
    name: 'ULTRA TEST',
    cmds: [
        'port {port}',
        'port {port} und random {random}',
        'random {random} und value {value}'
    ]
})

console.log(newObj)
フォールンリーパー

あなたが探しているのは次のようなものだと思います。matchを使用する代わりに、Replaceを使用して正規表現を渡すだけであることがわかります。

replaceAll = (obj) => {
    var m = {};
    obj.cmds.forEach((element, index, array) => {
        obj.cmds[index].match(/{.*?}/gmi).map( value => {
          var r = m[value]
          if (!r) { /* Create Prompt here. */ r = Math.random() * 10 }
          m[value] = r;
        })
        Object.keys(m).map( key => {
          obj.cmds[index] = obj.cmds[index].replace(key, m[key])
        });
    })

    return obj
}
newObj = replaceAll({
    name: 'ULTRA TEST',
    cmds: [
        'port {port}',
        'port {port} und random {random}',
        'random {random} und value {value}'
    ]
})

newObjによって返されるjsonは次のとおりです。

{
  "name":"ULTRA TEST",
  "cmds":[
    "port 1",
    "port 1 und random 2",
    "random 2 und value 3"
  ]
}

したがって、replaceAllの反復で以前に要求されなかった値の入力のみをユーザーに要求するということが起こります。

これはまさにあなたが望むことをするでしょう。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

列内のすべての文字列のすべてのインスタンスを、別のテーブルの値と一致するものに置き換える/更新するにはどうすればよいですか?

分類Dev

文字列のすべての文字を置き換えるにはどうすればよいですか?

分類Dev

正規表現に一致するすべての行全体をvimで置き換えるにはどうすればよいですか?

分類Dev

Python:文字列を置き換えずに2つの文字列の間のすべてを置き換えるにはどうすればよいですか?

分類Dev

一致した行の最初の出現をすべて増分番号に置き換えるにはどうすればよいですか?

分類Dev

すべての一致をBASHの増分番号に置き換えるにはどうすればよいですか?

分類Dev

文字列内で置き換えられる一致の数を知るにはどうすればよいですか?

分類Dev

文字列のリストと一致する単語(txtファイル内)を置き換えるにはどうすればよいですか?

分類Dev

すべての一致の前に文字列を追加するにはどうすればよいですか?

分類Dev

部分文字列のすべての出現を文字列内の別の部分文字列に置き換えるにはどうすればよいですか?

分類Dev

あるファイルの一致する文字列を別のファイルの一致する文字列に置き換えるにはどうすればよいですか?

分類Dev

Pythonで、一致する部分に基づいてパスの一部を置き換えるにはどうすればよいですか?

分類Dev

すべての中間文字を「*」に置き換えるにはどうすればよいですか?

分類Dev

文字列内の一致するパターンを除いて、文字列内のハイフン(-)をスペースに置き換えるにはどうすればよいですか?

分類Dev

パンダで2つを除くすべての列の値が一致する場合、列の値を置き換えるにはどうすればよいですか?

分類Dev

sedを使用して一致するパターンを行の先頭に置き換えるにはどうすればよいですか?

分類Dev

JavaScriptの最初の文字列を除くすべての文字列を置き換えるにはどうすればよいですか?

分類Dev

PHPの文字列から数字(200、200.45など)を除くすべての文字を置き換えるにはどうすればよいですか?

分類Dev

式と一致しない場合、特定の列の単語を置き換えるにはどうすればよいですか?

分類Dev

sedを使用して、一致する行内の単語を置き換えるにはどうすればよいですか?

分類Dev

PHPで文字列の一部を置き換えるにはどうすればよいですか?

分類Dev

文字列内のすべての特殊文字をエスケープ文字に置き換えるにはどうすればよいですか?

分類Dev

amまたはpmのないすべての数値を標準の文字列に置き換えるにはどうすればよいですか?

分類Dev

SQL:文字列と一致する場合、フィールド全体を置き換えるにはどうすればよいですか?

分類Dev

終了文字列が最初に出現するまでの間だけで、すべてを置き換えるにはどうすればよいですか?

分類Dev

文字列内のすべての要素(文字)をエレガントに置き換えるにはどうすればよいでしょうか。

分類Dev

データフレームのすべての行で文字列の特定の部分を置き換えるにはどうすればよいですか?

分類Dev

Excelのすべての行で特殊文字を列の値に置き換えるにはどうすればよいですか?

分類Dev

特定の文字列を別の文字列に置き換えるにはどうすればよいですか?

Related 関連記事

  1. 1

    列内のすべての文字列のすべてのインスタンスを、別のテーブルの値と一致するものに置き換える/更新するにはどうすればよいですか?

  2. 2

    文字列のすべての文字を置き換えるにはどうすればよいですか?

  3. 3

    正規表現に一致するすべての行全体をvimで置き換えるにはどうすればよいですか?

  4. 4

    Python:文字列を置き換えずに2つの文字列の間のすべてを置き換えるにはどうすればよいですか?

  5. 5

    一致した行の最初の出現をすべて増分番号に置き換えるにはどうすればよいですか?

  6. 6

    すべての一致をBASHの増分番号に置き換えるにはどうすればよいですか?

  7. 7

    文字列内で置き換えられる一致の数を知るにはどうすればよいですか?

  8. 8

    文字列のリストと一致する単語(txtファイル内)を置き換えるにはどうすればよいですか?

  9. 9

    すべての一致の前に文字列を追加するにはどうすればよいですか?

  10. 10

    部分文字列のすべての出現を文字列内の別の部分文字列に置き換えるにはどうすればよいですか?

  11. 11

    あるファイルの一致する文字列を別のファイルの一致する文字列に置き換えるにはどうすればよいですか?

  12. 12

    Pythonで、一致する部分に基づいてパスの一部を置き換えるにはどうすればよいですか?

  13. 13

    すべての中間文字を「*」に置き換えるにはどうすればよいですか?

  14. 14

    文字列内の一致するパターンを除いて、文字列内のハイフン(-)をスペースに置き換えるにはどうすればよいですか?

  15. 15

    パンダで2つを除くすべての列の値が一致する場合、列の値を置き換えるにはどうすればよいですか?

  16. 16

    sedを使用して一致するパターンを行の先頭に置き換えるにはどうすればよいですか?

  17. 17

    JavaScriptの最初の文字列を除くすべての文字列を置き換えるにはどうすればよいですか?

  18. 18

    PHPの文字列から数字(200、200.45など)を除くすべての文字を置き換えるにはどうすればよいですか?

  19. 19

    式と一致しない場合、特定の列の単語を置き換えるにはどうすればよいですか?

  20. 20

    sedを使用して、一致する行内の単語を置き換えるにはどうすればよいですか?

  21. 21

    PHPで文字列の一部を置き換えるにはどうすればよいですか?

  22. 22

    文字列内のすべての特殊文字をエスケープ文字に置き換えるにはどうすればよいですか?

  23. 23

    amまたはpmのないすべての数値を標準の文字列に置き換えるにはどうすればよいですか?

  24. 24

    SQL:文字列と一致する場合、フィールド全体を置き換えるにはどうすればよいですか?

  25. 25

    終了文字列が最初に出現するまでの間だけで、すべてを置き換えるにはどうすればよいですか?

  26. 26

    文字列内のすべての要素(文字)をエレガントに置き換えるにはどうすればよいでしょうか。

  27. 27

    データフレームのすべての行で文字列の特定の部分を置き換えるにはどうすればよいですか?

  28. 28

    Excelのすべての行で特殊文字を列の値に置き換えるにはどうすればよいですか?

  29. 29

    特定の文字列を別の文字列に置き換えるにはどうすればよいですか?

ホットタグ

アーカイブ