Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/395.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何修剪字符串中心的空白?_Javascript - Fatal编程技术网

Javascript 如何修剪字符串中心的空白?

Javascript 如何修剪字符串中心的空白?,javascript,Javascript,我已经用数据动态生成了JSON文件。某些数据生成无效json的错误: 我发现了一些问题,其中一些是 "live_href": "http:// http://google.com", or "login_pass": "bourdfthuk.midas.admin r3adqerds7one", 我已经用.trim固定了开头和结尾的空格,但是trim不会删除字符串中心的空格 用这个 str.replace(/\s/g,'') g对所有空格实例重复,s对所有空格重复,而不仅仅是文字字符

我已经用数据动态生成了JSON文件。某些数据生成无效json的错误:

我发现了一些问题,其中一些是

"live_href": "http://   http://google.com",
or
"login_pass": "bourdfthuk.midas.admin   r3adqerds7one",
我已经用.trim固定了开头和结尾的空格,但是trim不会删除字符串中心的空格

用这个

str.replace(/\s/g,'')

g对所有空格实例重复,s对所有空格重复,而不仅仅是文字字符。

正如前面提到的,您的json无效,因此无法将其解析为json。但是,如果它是有效的,那么它基本上是这样工作的:

var myJson = {"login_pass": "bourdfthuk.midas.admin   r3adqerds7one"};

myJson.login_pass = myJson.login_pass.replace(/ /g, '');
console.log(myJson);

工作示例:

我知道您正在尝试做什么。在这种情况下,您必须像这样循环字符串:

var word = "North Dakota       Blah blah";
word = word.split(' ');
for (var x = 0; x < word.length; x++) {
    if (word[x] === "") {
      word.splice(x, 1);
      x--;
  }
}
word = word.join(' ');
console.log(word);

工作示例:

.replace\s,?问题是,该字符串中的空格不会使JSON无效…与其在解析之前修复JSON,不如修复服务器上的生成。如前所述,创建JSON的方式有问题。除非您说明如何创建源,否则不知道。字符串中可以有无限的空格,如果正确创建和存储,则不会影响json的有效性。事实上,这不能正常工作。它使json有效,但会删除所有空格,这会使其他内容格式错误。我有像北达科他州服务器站点这样的站点名称,这将成为北达科他州服务器站点。
var word = "North Dakota       Blah blah";
word = word.split(' ');
for (var x = 0; x < word.length; x++) {
    if (word[x] === "") {
      word.splice(x, 1);
      x--;
  }
}
word = word.join(' ');
console.log(word);