现象 :
后台json 数组中一个文本字段 带有 \n “content “:"纤云弄巧,飞星传恨,银汉迢迢暗度。\n金风玉露一相逢,便胜却、人间无数。", 这个字段 现在提供给 两方用, app 抓取后显示, 正常换行; 前端 提取 这个字段的 时候, 谷歌 显示为 content: "纤云弄巧,飞星传恨,银汉迢迢暗度。 金风玉露一相逢,便胜却、人间无数。", 火狐 显示为 content":"\u7ea4\u4e91\u5f04\u5de7\uff0c\u98de\u661f\u4f20\u6068\uff0c\u94f6\u6c49\u8fe2\u8fe2\u6697\u5ea6\u3002\n\u91d1\u98ce\u7389\u9732\u4e00\u76f8\u9022\uff0c\u4fbf\u80dc\u5374\u3001\u4eba\u95f4\u65e0\u6570\u3002" 现前端获取 这个字符串时 做 var reg = /\\+n/g; data["content"].replace(reg,'
') 处理,
结果:
被显示为 空格符 了
检测出 以下现象:
把 “
” 替换成 “2222” , 同样未被替换成功;
因 这个 \n 字段app 那边也需抓取显示,无法更改为其他的 特殊字符。
需求:一脸懵逼的 lz 跪求解决方案
你的这个正则是匹配失败的
要分清字符串“\n”和换行符
\n
,在原始的字符串中,\n
表示一个字符,一个换行符,而你在用正则匹配的是一个字符串“\n”,自然匹配失败