猿问

从字符串中删除特殊字符并将每个字符串转换为数组项

我有以下 str,我想通过从中删除字符“/”并将其转换为数组来对其进行清理。str 看起来像这样:


var str = `“01 Lima /  / ”

“01 Lima / 50 Lima / ”

“01 Lima / 51 Barranca / ”

“01 Lima / 50 Lima / 202 La Molina”

“01 Lima / 50 Lima / 203 San Isidro”

“02 Arequipa /  / ”

“02 Arequipa / 63 Arequipa / ”

“02 Arequipa / 64 Caylloma / ”

“02 Arequipa / 63 Arequipa / 267 Cercado”`

我的理想输出如下所示:


["01 Lima", "01 Lima 50 Lima"] and so on

我编写了以下代码,对输入进行了一些清理,但不完全是我需要的:


const ubigeoParts=str.replace(/""/g,'').split('/');

关于如何完成我想要的任何想法?


白板的微信
浏览 252回答 3
3回答

慕尼黑的夜晚无繁华

如果有帮助在两行let replaceStr = str.replace(/\“|\”|\/|/g,'').split("\n");replaceStr = replaceStr.map((elem) => elem.replace(/\s+/g,' ').trim());console.log(replaceStr)在一行let replaceStr = str.replace(/\“|\”|\/|/g,'').split("\n").map((elem) => elem.replace(/\s+/g,' ').trim());console.log(replaceStr)

LEATH

您可以使用 split\n来获取每一行然后替换"/"为spacevar str = `“01 Lima /  / ”“01 Lima / 50 Lima / ”“01 Lima / 51 Barranca / ”“01 Lima / 50 Lima / 202 La Molina”“01 Lima / 50 Lima / 203 San Isidro”“02 Arequipa /  / ”“02 Arequipa / 63 Arequipa / ”“02 Arequipa / 64 Caylloma / ”“02 Arequipa / 63 Arequipa / 267 Cercado”`const res = str.split("\n").map(el => el.replace(/\s*\/\s*/g, " "))console.log(res)

一只萌萌小番薯

可能不是最优化的方法,但它应该可以完成工作str.match(/“(.+)”/g).map(s => s.replace(/“|”|\s*\/\s*/g, ' ').trim())
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答