Есть много вещей, которые идея решает гораздо более простым способом, или нет аналога:
Автозаполнение действий: выполнение ctrl + shift + a kbd> вами Вы можете вызвать любое действие с клавиатуры, не помня комбинацию клавиш ... Подумайте о gnome-do или запуске в Windows, и у вас есть идея! Кроме того, эта функция поддерживает сокращения CamelCasing;)
Полка: позволяет легко разделить некоторые фрагменты кода, а затем просматривать их через средство просмотра различий.
Местная история: гораздо лучше управляемый и простой.
Аннотации и история SVN: проще проверять, а также вы можете легко просматривать историю только для такой части целого исходного файла.
Автозаполнение везде, например, в окнах оценки выражения и состояния точки останова.
Интеграция Maven ... намного, намного проще и хорошо интегрирована.
Рефакторинг намного ближе к руке, такой как вставка циклов, перенос / преобразование, переименование и добавление переменных.
Найти много мощных и хорошо организованных. Даже в больших проектах
Гораздо стабильнее для работы с несколькими ветками большого проекта одновременно (как бывший исправитель 1.5Gb по источникам веток и необходимость работать в них одновременно идея показала свои невероятные возможности)
Более чистый и простой интерфейс ...
И, проще использовать только с клавиатурой, избавляя от необходимости использовать мышь для множества простых операций, экономя ваше время и давая вам больше внимания к коду ... там, где это важно!
И теперь, будучи открытым исходным кодом ... база пользователей Idea будет расти в геометрической прогрессии.
Как насчет Ури
:
Uri uri = new Uri(@"\\servername\d$\directory");
string[] segs = uri.Segments;
string s = "http://" + uri.Host + "/" +
string.Join("/", segs, 2, segs.Length - 2) + "/";
Еще один вариант для демонстрации различных вариантов:
(?<=^//)[^/]++
Имя сервера будет в \ 0
или $ 0
или просто результат функции, в зависимости от того, как вы ее вызываете и что предлагает ваш язык.
Объяснение в режиме комментариев регулярного выражения:
(?x) # flag to enable regex comments
(?<= # begin positive lookbehind
^ # start of line
// # literal forwardslashes (may need escaping as \/\/ in some languages)
) # end positive lookbehind
[^/]++ # match any non-/ and keep matching possessively until a / or end of string found.
# not sure .NET supports the possessive quantifier (++) - a greedy (+) is good enough here.
Это должно помочь.
^//([^/]+).*
Имя сервера находится в первой группе захвата
Регулярное выражение для соответствия имя сервера
:
^//(\w+)