2013-01-13 2 views
0

У меня есть строка, как это:Как получить цитируемый текст внутри строки?

var examplestring = 'Person said "How are you doing?" '; 

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

+0

Как насчет строки: «Человек сказал« Как вы поживаете? », А затем сказал« лучше? »; ? –

+1

В моем случае я могу гарантировать, что в строке есть только один набор двойных кавычек. – Risha

ответ

2
var quotedString = examplestring.split('"')[1]; 

Это разделится на каждом», в следующем

quotedString[0] = "Person said "; 
quotedString[1] = "How are you doing?" 
quotedString[2] = " "; 

А затем выбрать из индекса 1 нового массива, возвращая„Как дела?“(Без кавычек).

https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/String/split

+0

Спасибо, это работает хорошо. – Risha

1
var examplestring = 'Person said "How are you doing?" '; 
var extract = examplestring.match(/\"(.*)\"/); 
alert(extract[1]); 
+1

Просто FYI: этот grep получает немного фанки, если у вас более двух двойных кавычек. – jevakallio

3

Один из способов будет использовать регулярные выражения:

var match = exampleString.match(/"([^"]*)"/); 

if(match) { 
    var quoted = match[1]; // -> How are you doing? 
} else { 
    //no matches found 
} 
+0

Спасибо. Не могли бы вы объяснить строку регулярных выражений и как она работает? Мне любопытно. – Risha

+1

Первый и последний символы '/', являются просто разделителями, начинающимися и заканчивающими шаблон регулярных выражений. Котировки, конечно же, являются котировками, которые вы ищете. '[^"] 'Означает поиск любого символа, отличного от двойной кавычки, а' * 'указывает, что вы хотите как можно больше совместить 0 или более этих символов. Скобки обозначают, какая часть шаблона будет быть «захвачен». В этом случае есть только одна группа захвата, поэтому «match [1]» заполняется совпадением. На английском языке это говорит: «Найти столько последовательных символов сразу после двойной кавычки, которая не является двойной qoute " – Cecchi

Смежные вопросы