javascript - 为javascript添加/删除文本多行

标签 javascript reactjs react-apollo

我有需要删除/添加的多行字符串 这是我要编辑的数据

  data{
      id
      date
      ***progress{
        update
        progressStatus
      }***
      events {
        id
        time
      }
    }

我的意思是如何删除

progress{
            update
            progressStatus
          }

我曾尝试“替换”、“分配”来删除它,但没有用

  const test = data.replace(progress, '');

谢谢。

最佳答案

逻辑是这样的,我在考虑你想删除有一个左大括号('{')和一个右大括号('}')的“progress”:

var data = `data{
      id
      date
      ***progress{
        update
        progressStatus
      }***
      events {
        id
        time
      }
    }`;
function _remove(data, key) {
  var s = data.indexOf(key);
  var e = ((s) => {
    for(var i=s; i<data.length; i++){
      if(data[i] == "}")
        return i;
    }
  })(s + key.length);
  console.log(data.replace(data.substr(s, e-s+1), ""));
}
_remove(data, 'progress');

也可以用正则表达式完成!

关于javascript - 为javascript添加/删除文本多行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58180629/

相关文章:

javascript - 检查链接是否已在另一个窗口中打开 [JS 或 jQuery]

javascript - 在单个 JSON 键中存储和检索字符串列表的最佳实践?

java - 将 Cognito 身份验证与弹性负载均衡器结合使用

javascript - 对父组件进行大型查询还是对每个子组件进行一系列小查询?

reactjs - 如何使用Apollo Client + React Router实现私有(private)路由和根据用户状态重定向?

javascript - jQuery 选择器速度执行

php - 通过 php 执行警报功能时 Javascript 错误

javascript - 在 componentWillMount 中调度时无限循环

javascript - 比多次调用 setState 更好的处理 radio 组形式的方法?

reactjs - 使用 react-apollo,如何使用 TypeScript 在同一组件中定义 2 个突变?