условная проверка на string.split - PullRequest
0 голосов
/ 27 марта 2012

Можем ли мы выполнить условную проверку по методу string.split()?

то, чего мы хотим добиться, - это разбить строку на массив в местах, где "%" , но не разбивать в местах "#% #" в той же строке. Есть ли альтернатива?

1 Ответ

1 голос
/ 27 марта 2012

Попробуйте, используя String.indexOf():

if(string.indexOf("#%#") > -1)
{
    // This runs when #%# is found.
}
else
{
    // A lone % was found.
}

Информация о ключе:

Поиск строки и возврат позиции первого вхождения valнаходится в или после startIndex в вызывающей строке.Этот индекс начинается с нуля, что означает, что первый символ в строке считается с индексом 0, а не с индексом 1. Если значение val не найдено, метод возвращает -1 .

Если вы на самом деле имеете в виду, что хотите разделить строку , даже если в ней содержится #%#, , но просто не разделить, если она не одинокая %, вы можете использоватьРегулярные выражения в вашем .split():

string.split(/%(?!#)/);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...