【问题标题】:String replace then split breaks after multiple entries angularjs多个条目后,字符串替换然后拆分中断
【发布时间】:2020-05-06 07:57:35
【问题描述】:

我正在尝试在字符串中的 \n 条目上断开多个字符串。目前代码如下:

<p ng-if="controller.service.variable" class="card-text" ng-repeat="factor in controller.service.variable.replace('\n\n','\n').split('\n')">{{factor}}</p>

当字符串中有两个 \n\n 时,这很好用,当有两个以上时,拆分中断并且不再显示任何内容。

\n\n 替换应该在较早的错误中修复此问题,其中两个 \n\n 也会破坏字符串。 有什么想法吗?

当前正在拆分的测试数据:

gjdfbjgd\n\njffsjfsbf\n\nsfj \n\nfsbfsssfsfsf

【问题讨论】:

  • 你可以使用正则表达式.split(/\n*/)进行拆分,也不需要replace
  • @AZ_Data 现在出现了,但没有像 \n 那样正确地断行
  • 我的错应该是.split(/\n+/)
  • @AZ_Still 似乎出现了空格而不是预期的 \n 输入
  • 你能粘贴你正在拆分的数据吗?

标签: javascript angularjs replace split


【解决方案1】:

您可以将String.prototype.split 与正则表达式一起使用。

let str  =`gjdfbjgd

jffsjfsbf

sfj 




fsbfsssfsfsf`;
console.log(str.split(/\n+/))

如果字符串包含\n

let str  =`gjdfbjgd\\n\\njffsjfsbf\\n\\nsfj\\n\\n\\n\\nfsbfsssfsfsf`;
console.log(str)
console.log(str.split(/[\\n]+/))

【讨论】:

  • 试一试,现在它使用这个表达式返回以下错误:Lexer Error: Unexpected next character at columns 50-50 [] in expression [datagathering.wam.IDD_Technical_Factor__c.split(/[ \n]+/].
  • 当我删除一个 \n 时,它将返回以下错误语法错误:令牌'/'不是表达式 [datagathering.wam.IDD_Technical_Factor__c.split(/[ ]+ /)] 从 [/[ ]+/] 开始。
  • 为什么你尝试.split(/[\n]+/]而不是.split(/[\\n]+/]
【解决方案2】:

原来是一个简单的修复。 添加了修复它的 CSS: White-space:pre-wrap。

【讨论】:

  • 每个人都忙于尝试以编程方式修复它,而有一个简单的 css 修复。
猜你喜欢
  • 2019-01-13
  • 2017-03-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-10-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多