как Вы разделяете строку со строкой в C#

Я хотел бы разделить строку на Строку [] использование Строки как разделитель.

String delimit = "[break]";
String[] tokens = myString.Split(delimit);

Но метод выше только работает с символом как разделитель.

Какие-либо берущие?

10
задан Kieran 30 April 2013 в 01:39
поделиться

2 ответа

Интерпретируя вопрос как означающий «есть ли какие-либо города, которые находятся более чем в одном часовом поясе», тогда ответ «да». И есть американские штаты с несколькими часовыми поясами (Индиана и Аризона - два из них).

Недавно было проведено обсуждение списка рассылки TZ о районе Китая, известном как Синьцзян, который имеет смешанное население ханьских китайцев и уйгуров. Кажется, что хань используют стандартный китайский часовой пояс (Азия/Пекин), но уйгуры часто используют местный часовой пояс. Теперь она инкапсулирована в базу данных Олсона с названием Азия/Урумчи для часового пояса Уйгура.

Например, файл zone.tab в файле tzdata2010b.tar.gz доступен по адресу ftp://elsie.nci.nih.gov/pub/tzdata2010b.tar.gz (код: ftp://elsie.nci.nih.gov/pub/tzcode2009t.tar.gz ). Существует подробное описание того, как и почему изменения были внесены в файл Азии.

Обратите внимание, что база данных Olson (Time Zone) теперь (2016-09-19) доступна от IANA по адресу https://www.iana.org/time-zones , а не от NIH. Вы можете получить текущую версию достаточно легко; получить исторические релизы может быть труднее.

Да, часовые пояса действительно меняются 20 раз в год по всему миру, а иногда по существу без уведомления (то есть правительство принимает изменения только за день или два до изменения).


@ basit спрашивает:

Ого, примерно 20 раз в год по всему миру. Я пытаюсь зарегистрировать часовой пояс для широты и долготы, так что теперь мой вопрос будет, как долго я должен регистрировать данные для? 6 месяцев? 1 месяц? 2.. 3..?

Кроме того, сколько времени занимает переход на летнее время в течение года, потому что мне нужно регистрировать часовой пояс с переходом на летнее время и обновлять данные после определенного периода.

Я имею в виду, что в течение 2009 года было 20 выпусков базы данных часовых поясов, из-за изменений правил по крайней мере во многих местах. Однако любая страна обычно меняет свои правила только один раз - хотя с Аргентиной разные государства меняли свои правила в разное время и усугубляли проблемы.

Я не понимаю, что у нас достаточно информации, чтобы сказать вам, как долго регистрировать данные для. Я был бы склонен сказать по крайней мере 12 месяцев, но это зависит от того, что вы будете делать с этим. На одном уровне, все, что вам нужно сделать, это идти в ногу с базой данных Олсона - которая расскажет вам правила часовых поясов по существу везде в мире. Если вы заинтересованы в отслеживании часовых поясов ваших посетителей, то вы можете хранить данные сколько угодно долго. Поскольку не все используют каноническую нотацию Континент/Город для своего часового пояса (я склонен использовать, например, более старую нотацию США/Тихий океан - которая все еще поддерживается, но эквивалентна America/Los_Angeles). Классические обозначения, такие как TZ = EST5EDT, неоднозначны; как в США, так и в Австралии есть часовые пояса, которые используют EST в качестве сокращения, и даты, когда происходит переключение между стандартным и летним временем, варьируются (видеть массу данных в базе данных Олсона).

Вы также спрашиваете «сколько времени занимает изменение часового пояса». Я не уверен, что ты имеешь в виду. С точки зрения «когда часы меняются (между стандартным и летним временем)», они являются «мгновенными»; одну секунду это смещение одного часового пояса; в следующую секунду это другая. Если вы имеете в виду «сколько времени потребуется правительствам, чтобы изменить свое мнение», то оно радикально различается. Например, и в Европе, и в США существуют относительно фиксированные правила, которые меняются каждые несколько лет; правило в США было стабильным около 20 лет, затем они изменили правила около 3 лет назад. Европа похожа. С другой стороны, некоторые страны ежегодно меняют свои правила. У меня сложилось впечатление, что некоторые исламские страны корректируются, когда они переключаются между стандартным и летним временем (или наоборот), отчасти в зависимости от того, когда выпадет Рамадан - если изменение произойдет во время Рамадана, то они поднимут его вперед, или задержат его, чтобы правило не изменилось во время Рамадана. У других стран есть разные причины для того, чтобы распадаться, - может быть, это политический эквивалент предельного срока выпуска. Таким образом, людям может потребоваться некоторое время, чтобы решить, каким будет «окончательный» (означающий «следующее издание») правил для данного года.

Веб- сайт http://worldtimezone.com/ делает довольно хорошую работу по поддержанию трека большинства из этих идиосинкратий.

-121--3612692-

Это имя метода определенно слишком длинное. Мой ум, как правило, блуждает, когда я читаю такие размеры имена методов. Это как читать предложение без мест.

Лично я предпочитаю как можно меньше слов в методах. Вам поможет, если пакет и название класса могут передать смысл. Если ответственность класса очень лаконична , нет необходимости в гигантском имени метода. Мне любопытно, почему «WithingTransaction» там.

«getNumberOfSkinCareyImentItiveWithingTransaction» может стать:

com.mycompany.app.product.SkinCureQuery.getNumItems ();

Тогда при использовании метод может выглядеть как «query.getNumItems ()»

-121--649399-

Например:

mystring.Split(new string[] { delimit }, StringSplitOptions.None);

По какой-то причине, только перегрузки Split , которые принимают последовательность, принимают его как массив, вместе с StringSplitOptions .
Я понятия не имею, почему нет перегруженности string.Split (строка параметров []) .

26
ответ дан 3 December 2019 в 15:06
поделиться

Лично я предпочитаю использовать что-то вроде этого, поскольку регулярное выражение имеет такое разделение:

public static string[] Split(this string input, string delimit)
{
  return Regex.Split(input, delimit);
}
4
ответ дан 3 December 2019 в 15:06
поделиться
Другие вопросы по тегам:

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