javascript - 如何删除多行字符串中每一行的前 40 个字符?

标签 javascript

我有一个字符串,我需要删除每行的前 40 个字符。你会得到这样一行:

9e600771af0eb709982673ca996dc632eacbd99c refs/heads/branch0
87499732f46076c8c054ec91b0fa71d8a720d09e 引用/头/分支1
bd274092d4126b023f7580aef30baf141ca8983b 引用/头/branch2
e27cc492e1d146b12c24ffbe0b58cfe9ea114e26 refs/heads/branch3

但它需要是这样的:

refs/heads/branch0
引用文献/头/分支1
引用文献/头/branch2
引用文献/头/分支3

或者最终是这样的:

分支0
分支1
分支2
分支3

这在 JavaScript 中可能吗?

最佳答案

您可以尝试RegEx /^.{40}\s/gm。 这里

  1. ^.{40} 将从开头开始选取任何 40 个字符。
  2. \s 这将匹配后面的空格字符。
  3. gm 将在全局和多行中搜索匹配项。

工作代码示例:

var str = `9e600771af0eb709982673ca996dc632eacbd99c refs/heads/branch0
87499732f46076c8c054ec91b0fa71d8a720d09e refs/heads/branch1
bd274092d4126b023f7580aef30baf141ca8983b refs/heads/branch2
e27cc492e1d146b12c24ffbe0b58cfe9ea114e26 refs/heads/branch3`;

str = str.replace(/^.{40}\s/gm,'');
console.log(str);

// And
str = str.split('\n').map(function(s){
  return s.split('/')[2];
}).join('\n');

console.log(str);

关于javascript - 如何删除多行字符串中每一行的前 40 个字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49795839/

相关文章:

JavaScript 日期选择器

javascript - 无法识别 "Authentication Required"对话框

javascript - 如何在 Angular Material 中自定义 md-select 的弹出菜单?

javascript - 如何在css中切片图像

javascript - Extjs 日期选择器显示问题

javascript - 使用淡入淡出效果滚动时更改 Logo

javascript - 创建包含正则表达式匹配中所有组的数组的有效解决方案

javascript - 如何在 Firefox 调试器中找到该变量的值?

javascript - 在运行时检测变量变化

javascript - select2 获取下拉选项数组列表