每个空格后添加逗号

问题描述 投票:0回答:1

我正在尝试在文本区域中添加一个事件,以在每个空格后添加逗号。举个例子:

输入1:

2 2 2 2

输出1

2,2,2,2 or 2, 2, 2, 2

输入2:

2 2 2 2   2     2

输出2:

2,2,2,2,2,2 or 2, 2, 2, 2, 2, 2

所以在前端,我做了如下事情:

<textarea
  [(ngModel)]="data"
  type="text"
  #data
  (keyup)="keyupvalue(data.value)"
></textarea>
{{ data }}

对于

TypeScript
如下:

data = '';
keyupvalue(e) {
  console.log(e);
  this.data = e.split(' ').join(',').trim();
}

当我在文本区域中给出如下值时,上面的方法工作正常:2 2 2 2

输出

2,2,2,2

我可能有这样的输入:2 2 2 2 2(两个空格)

输出已获得

2,2,2,2,,2

即使我也可能有以下输入:

2
2
2
2
2
2

预期输出:

2,
2,
2,
2,
2,
2

不确定上面的代码片段或一些调整是否可以使其工作。如果提供任何建议或改进,我们将不胜感激。

angular typescript textarea angular15
1个回答
0
投票

您可能更喜欢使用正则表达式来捕获单个空间,而不是使用简单的分割/修剪,而是将多个空间分组到一个捕获组中。然后您可以用逗号替换该组。

const input = `2 2 2 2

2 2  2  2   2`

const output = input.replace(/\s+/g, ', ')
console.log(output)
© www.soinside.com 2019 - 2024. All rights reserved.