Javascript替换字符串中出现的ID

Javascript替换字符串中出现的ID,javascript,Javascript,在Javascript中,我试图: 从lib-One-5dc422e9中删除5dc422e9的ID 从lib-Six-5dc422e9gfg中删除5dc422e9gfg的ID,依此类推 我想保留JSON字符串中的所有内容,只想删除lib-*- { "data":{ "Library":{ "Checkout":{ "invoiceId":"12dfdf454546", "checkoutDetail":{

在Javascript中,我试图:

从lib-One-5dc422e9中删除5dc422e9的ID

从lib-Six-5dc422e9gfg中删除5dc422e9gfg的ID,依此类推

我想保留JSON字符串中的所有内容,只想删除
lib-*-

{
   "data":{
      "Library":{
         "Checkout":{
            "invoiceId":"12dfdf454546",
            "checkoutDetail":{
               "invoiceTransactionId":"5ab422e9",
               "invoicePaymentDetail":{
                  "bookId":"lib-One-5dc422e9",
                  "checkoutPeriods":[
                     {
                        "startDate":"2017-04-14T19:00:00.000",
                        "endDate":"2017-05-19T19:00:00.000"
                     }
                  ],
                  "invoice":{
                     "bookId":"lib-Six-5dc422e9gfg",
                     "checkObject":true
                  }
               }
            }
         }
      }
   }
}
与一些正则表达式一起使用

replace()方法返回一个新字符串,其中包含替换所替换模式的部分或全部匹配项。模式可以是字符串或RegExp,替换可以是字符串或为每个匹配调用的函数。如果模式是字符串,则仅替换第一个匹配项

我使用的replace方法的第二个参数是回调函数

正则表达式 i、 e.:
/(lib-[^-]+-)[^”]+/g

解释
[^-]
+查找任何不属于
-

(lib-[^-]+-)
匹配类似于
lib-*-

{
   "data":{
      "Library":{
         "Checkout":{
            "invoiceId":"12dfdf454546",
            "checkoutDetail":{
               "invoiceTransactionId":"5ab422e9",
               "invoicePaymentDetail":{
                  "bookId":"lib-One-5dc422e9",
                  "checkoutPeriods":[
                     {
                        "startDate":"2017-04-14T19:00:00.000",
                        "endDate":"2017-05-19T19:00:00.000"
                     }
                  ],
                  "invoice":{
                     "bookId":"lib-Six-5dc422e9gfg",
                     "checkObject":true
                  }
               }
            }
         }
      }
   }
}
[^”]+
查找任何不是
(id)的内容

解决方案
const data={“data”:{“Library”:{“Checkout”:{“invoiceId”:“12dfdf454546”,“checkoutDetail”:{“invoiceTransactionId”:“5ab422e9”,“invoicePaymentDetail”:{“bookId”:“lib-One-5dc422e9”,“checkoutPeriods”:[{“startDate”:“2017-04-14T19:00:00.000”,“endDate”:“2017-05-19T19:00:00.000”;“invoice”:“bookId”:“lib-Six-5dc422e9gfg”,“checkoutperiod”:“checkObject;
const res=JSON.stringify(data).replace(/(lib-[^-]+-)[^“]+/g,((uu,match)=>match);

log(JSON.parse(res,null,2))如果ID的格式始终是这样的“lib-[word]”,则可以执行以下操作:

"lib-Six-5dc422e9gfg".split("-")[2]