我在Angular中有一个反应形式,该形式将文件格式作为文本输入
<input type="text" name="formats" formControlName= "formats">
Run Code Online (Sandbox Code Playgroud)
例如: .txt, .zip, .tar.gz
我需要将这些输入转换为数组列表。在@ danday74的帮助下,我能够做到这一点。这是代码:
const input = ".txt, .zip, .tar.gz"
const parts = input.split(' ')
const output = parts.map(x => x.replace(',', '').replace('.', ''))
console.log(output)
Run Code Online (Sandbox Code Playgroud)
该代码生成的输出是["txt","zip","tar.gz"],这是我期望的。
但是,我担心的是,如果用户输入这样的内容.. ., .tar.gf.ds ,.tar,tar tar.gz zip则输出将分别为[".","","tar.gf.ds","tar"]和["tar","targz","zip"]
我的问题是我怎么在这样一种方式,用户可以输入不带任何特定结构的文件格式实现这一点(例如为:.txt, .zip, .tar.gz, .txt .zip .tar.gz,txt, zip, tar.gz,txt zip tar.gz),我应该能够产生这样的输出 ["txt","zip","tar.gz"]。就像我应该能够忽略输入是just ..还是.,只考虑带字符串的输入。