как получить текст из текстового поля между двумя точками - PullRequest
0 голосов
/ 18 мая 2009

Я просто хочу получить текст из текстового поля, например, между двумя точками. WWW. abc.org. ч

Ответы [ 5 ]

2 голосов
/ 18 мая 2009

в C #

string url = "www.google.com";
string[] split_strings = url.Split('.');
Console.WriteLine(split_strings[1]); 

Получить строку из текстового поля:

string url = textbox_url.Text;
string[] split_strings = url.Split('.');
Console.WriteLine(split_strings[1]); 

Но, пожалуйста, используйте try and catch;)

1 голос
/ 18 мая 2009

Я думаю, вам нужно быть более конкретным со своим вопросом. Теперь, если вы просто хотите извлечь среднюю часть адреса, вам нужно выполнить что-то вроде следующего:

var parts = textbox.Text.Split(new char[] {'.'});
if (parts.Length < 3) throw new InvalidOperationException("Invalid address.");
var middlePart = parts[1];
0 голосов
/ 18 мая 2009
string text = "www. abc.org . h";
int left = Math.Max(text.IndexOf('.'), 0),
   right = Math.Min(text.LastIndexOf('.'), text.Length - 1);

string result = text.Substring(left+1, right - left-1).Trim();
0 голосов
/ 18 мая 2009

Это так же конкретно, как ваше требование?

это работает только для www.SOMESITE.com

как насчет других расширений tld, таких как .net, .org, .co.uk, .ie и т. Д ... как насчет других поддоменов, таких как, www2., api., новости. так далее... как насчет доменов без субдоменов, таких как google.com, theregister.co.uk, bit.ly

если это просто, как ваше требование,

тогда

textBox.Text.Replace("www.", "").Replace(".com", "");

хотя у меня такое чувство, что вы не продумали или полностью не объяснили свои требования.

Если это более сложный сценарий, вы можете взглянуть на регулярные выражения.

0 голосов
/ 18 мая 2009

string haystack = "www.google.com"; string needle = "google";

        string myWord = GetWordFromString(haystack, needle);

        private string GetWordFromString(string haystack, string needle)
        {
           if (haystack.ToLower().Contains(needle))
           {
               return needle;
           }
        }

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

Существуют также регулярные выражения для извлечения имени домена из URL, если это является вашей конкретной потребностью. Как то так:

    public static string ExtractDomainName(string Url)
    {
        return System.Text.RegularExpressions.Regex.Replace(
        Url,
        @"^([a-zA-Z]+:\/\/)?([^\/]+)\/.*?$",
        "$2"
        );
    } 
...