πΆ Π‘ΡΡΠΎΠΊΠΈ String Π² C#
π€ ΠΠ°Π²Π°ΠΉΡΠ΅ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡΠΈΠΌ ΠΎ ΠΌΠ΅ΡΠΎΠ΄Π°Ρ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ ΡΠΎ ΡΡΡΠΎΠΊΠ°ΠΌΠΈ, Π±Π΅Π· ΠΊΠΎΡΠΎΡΡΡ Π½ΠΈΠΊΠ°ΠΊ Π½Π΅ ΠΎΠ±ΠΎΠΉΡΠΈΡΡ, Π΅ΡΠ»ΠΈ Π·Π°Ρ ΠΎΡΠ΅ΡΡΡ ΠΏΠΎΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ ΡΡΠΈΠΌΠΈ ΡΠ°ΠΌΡΠΌΠΈ ΡΡΡΠΎΠΊΠ°ΠΌΠΈ.
Π’Π΅ΠΎΡΠΈΡ:
ΠΠ°Π½Π° ΡΡΡΠΎΠΊΠ°:
ΠΠ·Π²Π»Π΅ΠΊΠ°Π΅Ρ ΠΏΠΎΠ΄ΡΡΡΠΎΠΊΡ. ΠΠΎΠ΄ΡΡΡΠΎΠΊΠ° Π½Π°ΡΠΈΠ½Π°Π΅ΡΡΡ Π² ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠΌ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² ΠΈ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅ΡΡΡ Π΄ΠΎ ΠΊΠΎΠ½ΡΠ° ΡΡΡΠΎΠΊΠΈ.
ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π½ΠΎΠ²ΡΡ ΡΡΡΠΎΠΊΡ, Π² ΠΊΠΎΡΠΎΡΠΎΠΉ Π²ΡΠ΅ Π²Ρ ΠΎΠΆΠ΄Π΅Π½ΠΈΡ ΡΠΈΠΌΠ²ΠΎΠ»Π° ΠΈΠ»ΠΈ ΡΡΡΠΎΠΊΠΈ Π² ΡΠ΅ΠΊΡΡΠ΅ΠΉ ΡΡΡΠΎΠΊΠ΅ Π·Π°ΠΌΠ΅Π½Π΅Π½Ρ Π΄ΡΡΠ³ΠΈΠΌ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠΌ ΠΈΠ»ΠΈ ΡΡΡΠΎΠΊΠΎΠΉ
// 10
π€·πΌββοΈ ΠΠΎΡ ΠΈ Π²ΡΡ.
ππΌ ΠΠΎΠΆΠ½ΠΎ ΠΏΠΈΡΠ°ΡΡ "Π³ΡΠ°Π±Π΅ΡΡ" ΠΈ "ΠΏΠ°ΡΡΠ΅ΡΡ" ΡΠ°ΠΉΡΠΎΠ².
π€ ΠΠ°Π²Π°ΠΉΡΠ΅ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡΠΈΠΌ ΠΎ ΠΌΠ΅ΡΠΎΠ΄Π°Ρ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ ΡΠΎ ΡΡΡΠΎΠΊΠ°ΠΌΠΈ, Π±Π΅Π· ΠΊΠΎΡΠΎΡΡΡ Π½ΠΈΠΊΠ°ΠΊ Π½Π΅ ΠΎΠ±ΠΎΠΉΡΠΈΡΡ, Π΅ΡΠ»ΠΈ Π·Π°Ρ ΠΎΡΠ΅ΡΡΡ ΠΏΠΎΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ ΡΡΠΈΠΌΠΈ ΡΠ°ΠΌΡΠΌΠΈ ΡΡΡΠΎΠΊΠ°ΠΌΠΈ.
Π’Π΅ΠΎΡΠΈΡ:
ΠΠ°Π½Π° ΡΡΡΠΎΠΊΠ°:
string s1 = "ΡΠΏΡΡΡΠΊΠ»ΠΌΠ½Ρ";1οΈβ£
IndexOf(char c)
IndexOf(string s)
ΠΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡ ΠΈΠ½Π΄Π΅ΠΊΡ Ρ ΠΎΡΡΡΠ΅ΡΠΎΠΌ ΠΎΡ Π½ΡΠ»Ρ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ Π²Ρ
ΠΎΠΆΠ΄Π΅Π½ΠΈΡ ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ ΡΠΈΠΌΠ²ΠΎΠ»Π° ΠΈΠ»ΠΈ ΡΡΡΠΎΠΊΠΈint pos = s1.IndexOf('Ρ');
// pos = 0int pos = s1.IndexOf("ΡΠΊΠ»");
// pos = 42οΈβ£ LastIndexOf(char c)
LastIndexOf(string s)
ΠΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡ ΠΏΠΎΠ·ΠΈΡΠΈΡ ΠΈΠ½Π΄Π΅ΠΊΡΠ° Ρ ΠΎΡΡΡΠ΅ΡΠΎΠΌ ΠΎΡ Π½ΡΠ»Ρ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π³ΠΎ Π²Ρ
ΠΎΠΆΠ΄Π΅Π½ΠΈΡ ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ ΡΠΈΠΌΠ²ΠΎΠ»Π° ΠΈΠ»ΠΈ ΡΡΡΠΎΠΊΠΈint pos = s1.LastIndexOf('Ρ');
// pos = 9int 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