我在JavaScript中有一个非常长的JSON字符串。它有几个\ n,需要在客户端转义:
replace(/\n/g, '\\n');
现在的问题是,这个replace()
在我的JSON字符串末尾添加了一个额外的换行符,这是我不想要的(结果是我的拆分(" \ n" )会产生一个空的无效的额外行。那么,我怎样才能正确处理这个?在split("\n")
最终保持功能的同时,如何在不破坏结构的情况下正确地转义该字符串?
当前的字符串结构类似于:" testdata \ ntestdata \ ntestdata"等
编辑:编辑,因为我似乎没有提供足够的信息:
replace(/\n/g, '\\n');
,之后执行拆分(" \ n")。这就是全部。我希望这能更好地解释我的问题。
答案 0 :(得分:1)
如果您要做的就是拆分换行符分隔的字符串,则无需replace
调用。下面的代码示例修剪任何前导或尾随空格(包括换行符)并在\n
上拆分。请注意,ECMAScript 5.1中添加了trim
,某些旧版浏览器不支持function splitNewlineSeparatedString (s) {
return s.trim().split("\n");
}
console.log(splitNewlineSeparatedString("testdata\ntestdata\ntestdata\n\n\n"));
。有关详细信息,请参阅此MDN page。
progress=(ProgressBar)findViewById(R.id.progressBar1);
plus=(Button)findViewById(R.id.button1);
minus=(Button)findViewById(R.id.button2);
plus.setOnClickListener(new OnClickListener()
{
@Override
public void onClick(View v)
{
if(v==plus)
{
progress.incrementProgressBy(10);
setProgress(100*progress.getProgress());
}
}
});
minus.setOnClickListener(new OnClickListener()
{
@Override
public void onClick(View v1)
{
if(v1==minus)
{
progress.incrementProgressBy(-10);
setProgress(90*progress.getProgress());
}
}
});