Вы инициализируете один и тот же массив дважды. Ваша программа будет работать так же, если вы используете любой из следующих параметров:
myArray = new int[]{1, 2, 3, 4, 5, 6, 7, 8, 9 , 10};
или
myArray = new int[10]; for (int i = 0; i < myArray.length; i++) { this.myArray[i]=i+1; }
, поскольку ваш массив не является двумерным массивом, поэтому вы не можете назначить другой массив элементам массива.
this.myArray = new int[i]; // not correct
Пока формат остается неизменным, вы можете сделать это с помощью регулярного выражения. "([^"] +) "
будет соответствовать шаблону
Скобки вокруг [^ "] +
означает, что эта часть будет возвращена как отдельная группа.
<?php
$str = 'This is a text, "Your Balance left $0.10", End 0';
//forward slashes are the start and end delimeters
//third parameter is the array we want to fill with matches
if (preg_match('/"([^"]+)"/', $str, $m)) {
print $m[1];
} else {
//preg_match returns the number of matches found,
//so if here didn't match pattern
}
//output: Your Balance left $0.10
Для всех, кто ищет полнофункциональный парсер строк, попробуйте это:
(?:(?:"(?:\\"|[^"])+")|(?:'(?:\\'|[^'])+'));
Использование в preg_match:
$haystack = "something else before 'Lars\' Teststring in quotes' something else after";
preg_match("/(?:(?:\"(?:\\\\\"|[^\"])+\")|(?:'(?:\\\'|[^'])+'))/is",$haystack,$match);
Возвращает:
Array
(
[0] => 'Lars\' Teststring in quotes'
)
Это работает с одинарными и двойными кавычками.
Попробуйте:
preg_match_all('`"([^"]*)"`', $string, $results);
Вы должны получить все свои извлеченные строки в $ results [1].
В отличие от других ответов, это поддерживает побег, например, "string with \" quote in it"
.
$content = stripslashes(preg_match('/"((?:[^"]|\\\\.)*)"/'));
Просто используйте str_replace и избегайте цитаты:
str_replace("\"","",$yourString);
Редактировать:
Извините, не увидел, что после 2-й цитаты был текст. В этом случае я просто сделал бы 2 поиска, один для первой цитаты и один для 2-й цитаты, а затем сделал бы подстроку, чтобы добавить все вещи между ними.
Регулярное выражение '"([^ \\"] +) "'
будет соответствовать чему угодно, заключенному в две двойные кавычки.
$string = '"Your Balance left $0.10", End 0';
preg_match('"([^\\"]+)"', $string, $result);
echo $result[0];