首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从字符串中删除特殊字符,并将每个字符串转换为数组项

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

Stack Overflow用户
提问于 2019-07-30 05:18:58
回答 3查看 54关注 0票数 0

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

代码语言:javascript
复制
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”`

我的理想输出将如下所示:

代码语言:javascript
复制
["01 Lima", "01 Lima 50 Lima"] and so on

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

代码语言:javascript
复制
const ubigeoParts=str.replace(/""/g,'').split('/');

关于如何实现我想要的东西,有什么建议吗?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2019-07-30 05:42:37

如果有帮助的话

分成两行

代码语言:javascript
复制
let replaceStr = str.replace(/\“|\”|\/|/g,'').split("\n");
replaceStr = replaceStr.map((elem) => elem.replace(/\s+/g,' ').trim());

console.log(replaceStr)

在一行中

代码语言:javascript
复制
let replaceStr = str.replace(/\“|\”|\/|/g,'').split("\n").map((elem) => elem.replace(/\s+/g,' ').trim());

console.log(replaceStr)
票数 1
EN

Stack Overflow用户

发布于 2019-07-30 05:28:56

这可能不是最优化的方法,但它应该可以完成工作

代码语言:javascript
复制
str.match(/“(.+)”/g).map(s => s.replace(/“|”|\s*\/\s*/g, ' ').trim())
票数 0
EN

Stack Overflow用户

发布于 2019-07-30 05:30:32

您可以使用拆分\n获取每一行,然后用space替换"/"

代码语言:javascript
复制
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”`


const res = str.split("\n").map(el => el.replace(/\s*\/\s*/g, " "))

console.log(res)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57261550

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档