Привязать событие к родительскому объекту, который уже существует:
$(document).on("click", "selector", function() {
// Your code here
});
Я думаю, вам нужно включить оператор регулярного выражения OR:
String[]tokens = pdfName.split("-|\\.");
То, что у вас есть, будет соответствовать "-." а не "-" или a "."
Для двухсимвольной последовательности в качестве разделителей «И» и «ИЛИ» это должно быть выполнено. Не забудьте обрезать при использовании.
String text ="ISTANBUL AND NEW YORK AND PARIS OR TOKYO AND MOSCOW";
String[] cities = text.split("AND|OR");
Результат: города = {«СТАМБУЛ», «НЬЮ-ЙОРК», «ПАРИЖ», «ТОКИО», «МОСКВА»}
Вы также можете указать регулярное выражение как аргумент в методе split (). Ниже приведен пример ....
private void getId(String pdfName){
String[]tokens = pdfName.split("-|\\.");
}
Используя Guava , вы можете сделать это:
Iterable<String> tokens = Splitter.on(CharMatcher.anyOf("-.")).split(pdfName);
Я бы использовал Apache Commons:
import org.apache.commons.lang3.StringUtils;
private void getId(String pdfName){
String[] tokens = StringUtils.split(pdfName, "-.");
}
Он разделится на любой из указанных разделителей, в отличие от StringUtils.splitByWholeSeparator(str, separator)
, который использует полная строка в качестве разделителя
Попробуйте это регулярное выражение "[-.]+"
. «+» Обрабатывает последовательные символы разделителя как один. Удалите плюс, если вы этого не хотите.
-
был в том, что это first i> думает внутри []
, в противном случае перед ним должна быть обратная косая черта (и конечно, чтобы поставить обратную косую черту перед ним, нам нужно two i>, потому что это строковый литерал).
– T.J. Crowder
13 May 2011 в 19:32
Лучше использовать что-то вроде этого:
s.split("[\\s\\-\\.\\'\\?\\,\\_\\@]+");
Добавили еще несколько символов в качестве образца. Это самый безопасный способ использования, так как обрабатываются пути .
и '
.
Строка, которую вы даете split
, является строковой формой регулярного выражения, поэтому:
private void getId(String pdfName){
String[]tokens = pdfName.split("[\\-.]");
}
Это означает, что для разделения на любой символ в []
(нам нужно убежать -
с обратным слэшем, потому что он особенный внутри []
, и, конечно, нам нужно избежать обратного слэша, потому что это строка). (Обратно, .
обычно является специальным, но не является специальным внутри []
.)
[-.]
нельзя интерпретировать как диапазон.
– Alan Moore
13 May 2011 в 16:40
String[] strings = codes.get(x).split("\\[|\\]| ");
- код для всех желающих
– scottyseus
30 July 2013 в 22:05
Если вы знаете, что sting всегда будет в одном формате, сначала разделите строку на основе .
и сохраните строку в первом индексе переменной. Затем разделите строку во втором индексе на основе -
и сохраните индексы 0, 1 и 2. Наконец, разделите индекс 2 предыдущего массива на основе .
, и вы должны были получить все соответствующие поля.
Обратитесь к следующему фрагменту:
String[] tmp = pdfName.split(".");
String val1 = tmp[0];
tmp = tmp[1].split("-");
String val2 = tmp[0];
...
Вы можете использовать регулярное выражение «\ W». Это соответствует любому символу, отличному от слова. Требуемая строка:
String[] tokens=pdfName.split("\\W");
\W
.
– nhahtdh
7 October 2015 в 07:23
.
в регулярном выражении означает любой символ, отличный от новой строки. tutorialspoint.com/java/java_regular_expressions.htm В этом случае, однако, им нужен фактический символ.
. Две обратные косые черты означают, что вы имеете в виду.
. Обратная косая черта - это escape-символ. – Monkeygrinder 21 February 2016 в 20:25