πŸ”Ά Π‘Ρ‚Ρ€ΠΎΠΊΠΈ String Π² C#



πŸ€” Π”Π°Π²Π°ΠΉΡ‚Π΅ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΠΌ ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°Ρ… для Ρ€Π°Π±ΠΎΡ‚Ρ‹ со строками, Π±Π΅Π· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π½ΠΈΠΊΠ°ΠΊ Π½Π΅ ΠΎΠ±ΠΎΠΉΡ‚ΠΈΡΡŒ, Ссли захочСтся ΠΏΠΎΡ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с этими самыми строками.



ВСория:



Π”Π°Π½Π° строка:

string s1 = "ёпрстклмнё";



1️⃣ IndexOf(char c)

IndexOf(string s)

Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°ΡŽΡ‚ индСкс с отсчСтом ΠΎΡ‚ нуля ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ вхоТдСния ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ символа ΠΈΠ»ΠΈ строки



int pos = s1.IndexOf('Ρ‘');

// pos = 0



int pos = s1.IndexOf("Ρ‚ΠΊΠ»");

// pos = 4



2️⃣ LastIndexOf(char c)

LastIndexOf(string s)

Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°ΡŽΡ‚ ΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ индСкса с отсчСтом ΠΎΡ‚ нуля послСднСго вхоТдСния ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ символа ΠΈΠ»ΠΈ строки



int pos = s1.LastIndexOf('Ρ‘');

// pos = 9

int pos = s1.LastIndexOf("Ρ‚ΠΊΠ»");

// pos = 4



IndexOf ΠΈ LastIndexOf

Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°ΡŽΡ‚ -1, Ссли Π·Π½Π°ΠΊ ΠΈΠ»ΠΈ строка Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½Π° Π² Π΄Π°Π½Π½ΠΎΠΉ строкС



3️⃣ Substring(int index)

Π˜Π·Π²Π»Π΅ΠΊΠ°Π΅Ρ‚ подстроку. ΠŸΠΎΠ΄ΡΡ‚Ρ€ΠΎΠΊΠ° начинаСтся Π² ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΌ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ символов ΠΈ продолТаСтся Π΄ΠΎ ΠΊΠΎΠ½Ρ†Π° строки.



string substr = s1.Substring(5);

// ΠΊΠ»ΠΌΠ½Ρ‘



Substring(int index, int length)

Π˜Π·Π²Π»Π΅ΠΊΠ°Π΅Ρ‚ подстроку. ΠŸΠΎΠ΄ΡΡ‚Ρ€ΠΎΠΊΠ° начинаСтся с ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ Π·Π½Π°ΠΊΠ° ΠΈ ΠΈΠΌΠ΅Π΅Ρ‚ ΡƒΠΊΠ°Π·Π°Π½Π½ΡƒΡŽ Π΄Π»ΠΈΠ½Ρƒ.

string substr = s1.Substring(5, 3);

// ΠΊΠ»ΠΌ



4️⃣ Replace(string s1, string s2) | Replace(char c1, char c2)

Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π½ΠΎΠ²ΡƒΡŽ строку, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ всС вхоТдСния символа ΠΈΠ»ΠΈ строки Π² Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ строкС Π·Π°ΠΌΠ΅Π½Π΅Π½Ρ‹ Π΄Ρ€ΡƒΠ³ΠΈΠΌ символом ΠΈΠ»ΠΈ строкой



string str = s1.Replace("Ρ‘ΠΏ", "ΠΊΡƒΡΡŒ "); // ΠΊΡƒΡΡŒ рстклмнё



5️⃣ Length

Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ число Π·Π½Π°ΠΊΠΎΠ² Π² Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ строкС



int length = s1.Length;

// 10

int length = "ΠΊΡƒΡΡŒ".Length;

// 4



πŸ€·πŸΌβ€β™‚οΈ Π’ΠΎΡ‚ ΠΈ всё.

πŸ‘πŸΌ МоТно ΠΏΠΈΡΠ°Ρ‚ΡŒ "Π³Ρ€Π°Π±Π΅Ρ€Ρ‹" ΠΈ "парсСры" сайтов.



string GetTitle(string url)

{

HttpClient hc = new();



string openTag = "<title>";

string closeTag = "</title>";



string html = hc.GetStringAsync(url).Result;



int tagStart = html.IndexOf(openTag) + openTag.Length;



int tag = html.IndexOf(closeTag);



string title = html.Substring(tagStart, tag - tagStart);



return title;

}



string[] urls = {

"https://microsoft.com/",

"http://ksergey.ru",

"http://google.com",

"http://mail.ru"

};



foreach (var url in urls)

Console.WriteLine(GetTitle(url));



Π˜Ρ‚ΠΎΠ³:



Microsoft Corporation

Π‘Π΅Ρ€Π³Π΅ΠΉ ΠšΠ°ΠΌΡΠ½Π΅Ρ†ΠΊΠΈΠΉ

Google

Mail.ru: ΠΏΠΎΡ‡Ρ‚Π°, поиск Π² ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Π΅, новости, ΠΈΠ³Ρ€Ρ‹



#dotnet #csharp