我们有一个程序,用户可以为另一个系统输入换行符。
问题是当用这个换行代替一个字符串时,它只是添加" \ n"。
例如:
工作:
var test = 'message';
test+='\n';
console.log("message " + test); // (doesnt show \n)
不起作用:
var test="message";
var myLineBreakFromDatabase = getMyLineBreak();//simply returns a string containing "\n"
test+=myLineBreakFromDatabase;
现在测试="消息\ n"这是没用的。
但是,我们在整个系统中使用Javascript,所以我想只想弄清楚如何将换行符从字符串转换为控制字符?
答案 0 :(得分:2)
问题是您从数据库返回的字符串实际上类似于"\\n"
,而不是"\n"
。很可能你会在某些地方进行一些自动转移,无论是在数据库中保存之前还是在应用程序到达你在应用程序中使用它之前。
Hacky解决方案不是一个好主意,但可能“有用”:
var myLineBreakFromDatabase = getMyLineBreak().split('\\n').join('\n');
答案 1 :(得分:1)
如果您针对不同系统的换行符存储在unix的换行符为\u000A
而windows的换行符为\u000D\u000A
的数据库中,则您可以将文本读入myLineBreak
和然后做一些事情:
var actualLineBreakString=JSON.parse('"' + myLineBreak + '"');
您必须确保您的javascript具有JSON对象。如果需要,可以在json.org上获取它。
此方法适用于任何特殊字符。见这里:http://msdn.microsoft.com/en-us/library/ie/2yfce773(v=vs.94).aspx