вопрос о том, как разбить строку, которая содержит пробел и скобки с помощью регулярных выражений (JavaScript)

== сравнивает ссылки на объекты в Java и не является исключением для объектов String.

Для сравнения фактического содержимого объектов (в том числе String) необходимо использовать equals.

Если сравнение двух объектов String с использованием == оказывается true, это связано с тем, что объекты String были интернированы, а виртуальная машина Java имеет несколько ссылки указывают на тот же экземпляр String. Не следует ожидать сравнения одного объекта String, содержащего то же содержимое, что и другой объект String, используя == для оценки как true.

-2
задан Wayne Ohm 17 January 2019 в 09:56
поделиться

2 ответа

Это длиннее, чем регулярное выражение с одной строкой, но оно преобразует вход в формат желаемого выхода, который вы ищете, используя split и regex:

var yourstring = 'SST+CONF!001 001 "407968017" "Projector Serial Number"';

// Regex to replace " with '
yourstring = yourstring.replace (/"/g,"'");

// Split where " " is 
strArray = yourstring.split(" ");

var output = "[";

for (var i = 0; i < strArray.length; i++) {
  if(i < 2){
    strArray[i] = "'" + strArray[i] + "'";
  }
  if (i < 3){
    output += strArray[i] + ", ";
  }
  else {
    output += strArray[i] + " ";
  }
}

// Regex to replace last character with ]
output = output.replace(/.$/, "]");

console.log(output);
[116 ]

Надеюсь, это поможет!

0
ответ дан hiew1 17 January 2019 в 09:56
поделиться

Используйте функцию разделения и используйте регулярное выражение, предоставленное внутри нее. Он разбивает массив на основе регулярного выражения. Регулярное выражение находит все пространство в строке

var a='SST+CONF!001 001 407968017 Projector Serial Number';
var b=a.split(/\s/g)
console.log(b)

0
ответ дан ellipsis 17 January 2019 в 09:56
поделиться
Другие вопросы по тегам:

Похожие вопросы: