请教一个 JS 字符串去掉换行符问题

2021-03-09 17:21:04 +08:00
 muunala10221

我怎么都去不掉这个 \n 人晕了

// 定义

let arr = "CREATE TABLE IF NOT EXISTS ZJTEST.AUDIT_SQL(↵ AUDIT_TIME DATETIME(6), ↵ SCHEMANAME VARCHAR(30), ↵ MODULE VARCHAR(48), ↵ OSUSER VARCHAR(30), ↵ MACHINE VARCHAR(64), ↵ PROGRAM VARCHAR(48), ↵ SQL_ID VARCHAR(13), ↵ SQL_TEXT VARCHAR(1000), ↵ SQL_FULLTEXT LONGTEXT↵);"

// 第一次去除 arr = arr.replace(/(\r\n\t|\n|\r\t)/gm, '') //去除结果 "CREATE TABLE IF NOT EXISTS ZJTEST.AUDIT_SQL(↵ AUDIT_TIME DATETIME(6), ↵ SCHEMANAME VARCHAR(30), ↵ MODULE VARCHAR(48), ↵ OSUSER VARCHAR(30), ↵ MACHINE VARCHAR(64), ↵ PROGRAM VARCHAR(48), ↵ SQL_ID VARCHAR(13), ↵ SQL_TEXT VARCHAR(1000), ↵ SQL_FULLTEXT LONGTEXT↵);" // 第二次去除 arr = arr.replace('↵', '') // 去除结果 "CREATE TABLE IF NOT EXISTS ZJTEST.AUDIT_SQL( AUDIT_TIME DATETIME(6), ↵ SCHEMANAME VARCHAR(30), ↵ MODULE VARCHAR(48), ↵ OSUSER VARCHAR(30), ↵ MACHINE VARCHAR(64), ↵ PROGRAM VARCHAR(48), ↵ SQL_ID VARCHAR(13), ↵ SQL_TEXT VARCHAR(1000), ↵ SQL_FULLTEXT LONGTEXT↵);"

1285 次点击
所在节点    JavaScript
13 条回复
muunala10221
2021-03-09 17:22:47 +08:00
明明编辑好了格式发出来又是乱码。。
我用了几种方法去除,都不行 第一种:arr = arr.replace(/(\r\n\t|\n|\r\t)/gm, ''); 第二种:arr = arr.replace('↵', '');
第三种:arr = arr.replace(/[\r\n]/g, ''); 第四种:a r r = arr.replace(/[\n\t]/g, '')
zhuweiyou
2021-03-09 17:24:50 +08:00
.replace(/↵/g, '')
tsvico
2021-03-09 17:27:14 +08:00
arr.replaceAll("\n","")
superrichman
2021-03-09 17:32:26 +08:00
把表达式里面两个\t 去掉
muunala10221
2021-03-09 17:33:00 +08:00
@zhuweiyou
@tsvico
不行 在 chrome 发给接口的时候 那里面还是有\n
muunala10221
2021-03-09 17:34:13 +08:00
@superrichman 试了 不行 发给接口的时候 还是有"\n"
Kasumi20
2021-03-09 17:36:25 +08:00
没有复现,/\n/g 搞定,js 字符串字面哪来的\r
muunala10221
2021-03-09 17:42:31 +08:00
@Kasumi20 急病乱投医 去不掉能用的方法都试了一下,在 chrome 控制台里看着是没了,但是发给接口的时候还是有\n
wqgogogo
2021-03-09 17:54:57 +08:00
let arr = "CREATE TABLE IF NOT EXISTS ZJTEST.AUDIT_SQL(↵ AUDIT_TIME DATETIME(6), ↵ SCHEMANAME VARCHAR(30), ↵ MODULE VARCHAR(48), ↵ OSUSER VARCHAR(30), ↵ MACHINE VARCHAR(64), ↵ PROGRAM VARCHAR(48), ↵ SQL_ID VARCHAR(13), ↵ SQL_TEXT VARCHAR(1000), ↵ SQL_FULLTEXT LONGTEXT↵);"
console.log(arr);
let reg = /↵*/g;
let flag = reg.test(arr);
console.info(flag);
let result = arr.replace(reg, "");
console.log(result);
tyx1703
2021-03-09 18:01:24 +08:00
arr.replace(/[\n↵]/g, '')
tyx1703
2021-03-09 18:04:18 +08:00
你的方法 1, 3, 4 去掉了换行但是没有去掉 `↵`,方法 2 去掉了 `↵`但是没去掉换行
zhuweiyou
2021-03-09 18:09:41 +08:00
@muunala10221 你发出来的内容 就只有 ↵ ,并没有 \n , 你发原文啊 发个 github 链接
muunala10221
2021-03-09 18:25:58 +08:00
@zhuweiyou
@tyx1703
@wqgogogo
@Kasumi20 已经解决了 感谢感谢

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/760056

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX