Делить слова с помощью JavaScript, но пропускает некоторые слова перед "\" - PullRequest
1 голос
/ 24 сентября 2011

У меня есть строка:

"a","b","c"

, и я могу разделить эти слова на:

a
b
c

, используя Javascript, но как насчет:

"a,","b\"","c\,\""

Как мне получить:

a,
b"
c,"

Ответы [ 4 ]

1 голос
/ 24 сентября 2011

Все еще не уверены, что это одна строка?Но если это ... и это единственный экземпляр этого, которым вы хотите манипулировать, вы можете использовать этот сверх замысловатый способ ....

var a = '"a,","b\"","c\,\""';
var b = a.replace(/"/,'');
  //get rid of the first "
var c = b.lastIndexOf('"');
  //find the last "
var d = b.substring(0,c);
  //cut the string to remove the last "
var e = d.split('","');
  //split the string at the ","

for(var i="0"; i<e.length; i++){
    document.write(e[i] + '<br />');    
}

Пример: http://jsfiddle.net/jasongennaro/ceVG7/1/

0 голосов
/ 25 сентября 2011

Как насчет этого:

'"a,","b\"","c\,\""'.replace(/^"|"$/g,'').split(/"\s*,\s*"/).join('<br/>')

, который дает:

a,<br/>b"<br/>c,"

<br/> можно заменить на \n, если вывод не HTML

0 голосов
/ 24 сентября 2011

Вы не можете определить «a», «b», «c» как одну строку.Если у вас есть строка, то

Метод replace () ищет совпадение между подстрокой (или регулярным выражением) и строкой и заменяет совпавшую подстроку новой подстрокой.

Метод split () используется для разбиения строки на массив подстрок и возвращает новый массив.

string.split(separator, limit)

или var myString = "abc, efg";

var mySplitResult = myString.split(",");

mySplitResult[0] will be abc
mySplitResult[0] will be efg
0 голосов
/ 24 сентября 2011
  1. Разделить как было
  2. Заменить все \ в каждой результирующей строке после разделения (используя replace())
...