使用.split()取出并修改字符串的某些部分,以不同的方式修改和显示它们

using .split() to take out and modify certain parts of a string, modifying and displaying them differently JavaScript

本文关键字:修改 方式 显示 split 使用 字符串 些部      更新时间:2023-09-26

我想从响应中拆分'示例响应'和'示例请求',我在markdown文件中获得,并希望在我的html页面上的h3标签中显示它们,但我不知道如何使用JavaScript。split(),因为我不能编写脚本来删除一定数量的字符,因为会有其他响应,这将是不同的。

示例请求:https://somelink.com/

示例响应:

{
  head: { .... },
  data: [
    {
      blah: "bl4h, blah, bl4h"
    }
  ]
}

我认为你不希望分割响应(在例如Example Request的位置),而是选择它的不同部分并以不同的方式显示它们。正则表达式的一个很好的用例。

function parse(raw) {
  var elements = raw.match(/(.|['r'n])*(Example Request)((.|['r'n])*)(Example Response)((.|['r'n])*)/i).slice(2);
  console.log(elements);
  return '<h3>' + elements[0] + '</h3><p>' + elements[1] + '</p><h3>' + elements[3] + '</h3><pre>' + elements[4] + '</pre>';
}
document.getElementById('action').addEventListener('click', function() {
  var raw = document.getElementById('text').value;
  document.getElementById('result').innerHTML = parse(raw);  
});
textarea { display: block; width: 100%; height: 5em; }
<textarea id="text"></textarea><button id="action">render</button>
<div id="result"></div>

这实际上很棘手。您还必须匹配换行符((.|['r'n])),这会生成不必要的组(从elements[1]跳到elements[3])。这是第一个提示,有很多东西永远不应该出现在生产代码中。