Разделить на preg_split альтернативу с таким же поведением [дубликат]

Симон Моурир дал этот пример :

object o = null;
DateTime d = (DateTime)o;  // NullReferenceException

, где unboxing преобразование (литье) из object (или из одного из классов System.ValueType или System.Enum или из типа интерфейса) - тип значения (кроме Nullable<>) сам по себе дает NullReferenceException.

В другом направлении конверсия бокса из a Nullable<>, которая имеет HasValue, равную false , на ссылочный тип, может дать ссылку null, которая затем может привести к NullReferenceException. Классический пример:

DateTime? d = null;
var s = d.ToString();  // OK, no exception (no boxing), returns ""
var t = d.GetType();   // Bang! d is boxed, NullReferenceException

Иногда бокс происходит по-другому. Например, с помощью этого не общего метода расширения:

public static void MyExtension(this object x)
{
  x.ToString();
}

следующий код будет проблематичным:

DateTime? d = null;
d.MyExtension();  // Leads to boxing, NullReferenceException occurs inside the body of the called method, not here.

Эти случаи возникают из-за специальных правил, используемых во время выполнения при боксе Nullable<> экземпляров.

7
задан Basit 19 January 2011 в 13:33
поделиться

1 ответ

preg_split () аналогичен старой функции ereg-функции split (). Вам просто нужно заключить регулярное выражение в /.../ следующим образом:

preg_split('/www/', 'D:/Projects/job.com/www/www/path/source', 2);

Прилагаемые косые черты / здесь действительно являются частью синтаксиса регулярных выражений, а не поискаются в строке. Если разделитель www является переменным, вы должны дополнительно использовать preg_quote () для внутренней части.

Но обратите внимание, что вам не нужны регулярные выражения, если вы все равно смотрите только на статические строки. В таких случаях вы можете использовать explode() в значительной степени, как вы использовали split () раньше:

explode('www', 'D:/Projects/job.com/www/www/path/source', 2);
16
ответ дан mario 3 September 2018 в 15:41
поделиться
Другие вопросы по тегам:

Похожие вопросы: