Как будто вы пытаетесь получить доступ к объекту, который является null
. Рассмотрим ниже пример:
TypeA objA;
. В это время вы только что объявили этот объект, но не инициализировали или не инициализировали. И всякий раз, когда вы пытаетесь получить доступ к каким-либо свойствам или методам в нем, он будет генерировать NullPointerException
, что имеет смысл.
См. Также этот пример:
String a = null;
System.out.println(a.toString()); // NullPointerException will be thrown
Вы можете использовать:
$foo = preg_replace('/[^\w$\x{0080}-\x{FFFF}]+/u', '', $foo);
\w
- эквивалентно [a-zA-Z0-9_]
\x{0080}-\x{FFFF}
для соответствия символам между кодовыми точками U
+ 0080 and
U + FFFF` /u
для поддержки Unicode в regex
\w
, потому что я не был уверен, что привязка к языковому признаку повлияет на вещи, но похоже, что диапазон Unicode в любом случае охватывает акцентированных персонажей, поэтому я полагаю, что это безопасно./u
- это то, что я ищу, спасибо. С другой стороны, что такое суррогат? – rink.attendant.6 20 October 2014 в 05:52d800
доdfff
, чтобы указать суррогаты в UTF-16, чтобы можно было указать больше символов. Единственный суррогат не является допустимым символом в UTF-16 (пара должна указать действительный символ). Я не могу вспомнить, вызвала ли PCRE ошибку, если она встречает одиночный суррогат в строке. – nhahtdh 20 October 2014 в 05:58