我正在尝试在文本区域中添加一个事件,以在每个空格后添加逗号。举个例子:
输入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
不确定上面的代码片段或一些调整是否可以使其工作。如果提供任何建议或改进,我们将不胜感激。
您可能更喜欢使用正则表达式来捕获单个空间,而不是使用简单的分割/修剪,而是将多个空间分组到一个捕获组中。然后您可以用逗号替换该组。
const input = `2 2 2 2
2 2 2 2 2`
const output = input.replace(/\s+/g, ', ')
console.log(output)