繁体   English   中英

在Javascript中的一定数量的字符之后,在空格或“/”或最大字符之后分割字符串

[英]Split string at space or "/" or after max character after certain number of characters in Javascript

我知道已经问过很多类似的问题,这些问题已经对我有很大帮助,但我现在的问题是我不知道如何在空格或 a / 之后拆分字符串,如果没有空格或 /在里面。

我目前正在处理一些需要打印的产品描述,有些太长需要拆分。 问题是没有人有相同的模式,有些有空格或 / 或什么都没有,需要在空格或 / 处拆分才能可读。 所以目前我得到了以下代码:

var res = str.match(/.{1,10}(\s||[/])/g) ;
  • 对于以下输入:STEP-PS/1AC/24DC/2.5

我得到输出:STEP-PS/1A 和 C/24DC/2.5

并想得到:STEP-PS/1AC 和 /24DC/2.5 或 STEP-PS/1AC/ 和 24DC/2.5

  • 对于以下输入:AXL F DO16/3 XC 2F

我得到输出:AXL F DO16 和/3 XC 2F 和空白

并希望得到:AXL F DO16 和 /3 XC 2F 没有空白输出

  • 对于以下输入:ASDFDDCL21EDFG

我得到正确的输出:ASDFDDCL21 和 EDFG

我应该改变什么以获得良好的输出,甚至可能吗? (对不起我的英语不好)

你可以试试这个

.{1,10}(?:[^\s\/]+?[\s\/])?

在此处输入图片说明

 const regex = /.{1,10}(?:[^\\s\\/]+?[\\s\\/])?/g; const strs = ["STEP-PS/1AC/24DC/2.5", "AXL F DO16/3 XC 2F", "ASDFDDCL21EDFG"] strs.forEach(str => { console.log(str.match(regex)) })

Regex Demo

您可以根据您在 JavaScript 中的要求,将 split() 与 join() 一起使用,如下所示。

var test ="STEP-PS/1AC/24DC/2.5 hh kk ll";
var res = test.split('/').join('/ ').split(' ').join(' ');
$('#msg').html(res)

试试看, https://playcode.io/

如果您需要任何特定的帮助。 请告诉我。 谢谢,

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM