Stringek kezelése

String mint vektor!

A stringek kezelhetőek vektorként is. Hivatkozhatunk rájuk elemenként, mint a karaktereket tartalmazó tömbökre.

string s="123456789";
for (int i=0;i<s.Length;i++)
{
Console.WriteLine(s[i]);
}


Összehasonlítás

 

A str1.CompareTo(str2) metodus

int comp;
string str1 = "ab";
string str2 = "cd";
comp = str1.CompareTo(str2);

if (comp == 0) { Console.WriteLine("str1 = str2"); }

if (comp > 0) { Console.WriteLine("str1 < str2"); }

if (comp < 0) { Console.WriteLine("str1 > str2"); }

str1>str2

 Beszúrás

Insert() metódus
 

Keresés

Az IndexOf() függvény -1 értéket ad vissza, ha a paraméter listájában megadott karakter, vagy karaktersorozat nem szerepel a string- ben, 0, vagypozitív értéket, ha szerepel. Mivel a stringek 0- tól vannak indexelve, találat esetén 0-tól a string hosszáig kaphatunk visszatérési értéket, ami a találat helyét, vagyis a kezdő indexét jelenti a keresett karakternek, vagy karakterláncnak.

string s;
string w;

Console.WriteLine("Gépeljen be egy tetszőleges mondatot: ");
s=Console.ReadLine();

Console.WriteLine("Adja meg a keresendő szót : ");
w=Console.ReadLine();

s=s.ToUpper();
w=w.ToUpper();

if (s.IndexOf(w)>-1)
{
Console.WriteLine("A(z) {0} szó szerepel a(z) {1} mondatban",w,s);
}
else
{
Console.WriteLine("A(z) {0} szó nem a(z) {1} mondatban");
}
Console.ReadLine();

String műveletek

string s;
s="alma";

Console.WriteLine("{0} - A string elejéről levágtuk az a karaktereket.",s.TrimStart('a'));

Console.WriteLine("{0} - A string végéről levágtuk az a karaktereket.",s.TrimEnd('a'));

Console.WriteLine("{0} - Nagybetűssé alakítottuk a sztringet.",s.ToUpper());

Console.WriteLine("{0} - Kisbetűssé alakítottuk a sztringet.",s.ToLower());

Console.ReadLine();

String műveletek bemutatása

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace @string
{
class Program
{
static void Main(string[] args)
{
string strSzoveg = "Kelkáposzta";
string strSzoveg2;
Console.WriteLine("Karaktercsere, k--X");
Console.WriteLine(strSzoveg);
strSzoveg2=strSzoveg. Replace("k", "X");
Console.Write(strSzoveg2);
Console.WriteLine("\n****************");
Console.WriteLine("Karakter törlés adott helyről, 3-tól 2 db karakter");
Console.WriteLine(strSzoveg);
strSzoveg2 = strSzoveg.Remove(3, 2);
Console.Write(strSzoveg2);
Console.WriteLine("\n****************");
Console.ReadKey();
}
}
}

A beolvasott mondatról döntse el, hogy az visszafelé is ugyanazt jelenti-e! (Az ”Indul a görög aludni”, vagy a ”Géza kék az ég” visszafelé olvasva is ugyanazt jelenti.) Ügyeljen a mondatvégi írásjelekre, mivel azok a mondat elején nem szerepelnek. static void Main(string[] args)
{
string strSzoveg = "Géza kék az ég";
int db=0;
strSzoveg = strSzoveg.ToUpper();
strSzoveg = strSzoveg.Replace(" ", "");
int iHossz=strSzoveg .Length;
for (int i = 0; i <= iHossz - 1; i++)
{
if (strSzoveg[i] == strSzoveg[(iHossz - 1) - i])
db = db+1;

}
if (db == iHossz)
Console.WriteLine("Ugyanaz!");
else
Console .WriteLine("Nem ugyanaz!");

Console.ReadKey();
}
 

 

Feladatok:

1. feladat: Írja a képernyőre a következő string konstansokat: ”c:\alma”, ”c:\\alma”!
2. feladat:  Írjon programot, mely megszámolja, hogy az inputként érkező mondatban hány darab ”a” betű van!
3. feladat: Az előző programot alakítsa át úgy, hogy a számlálandó betűt is a felhasználó adja meg!
4. feladat:  Készítsen karakter statisztikát a felhasználótól beolvasott szöveg karaktereiről! A statisztika tartalmazza az adott karaktert, és azt, hogy hány darab van belőle.
5. feladat:  Az input szövegből távolítsa el a szóközöket!
6. feladat: Olvasson be egy mondatot és egy szót! Mondja meg, hogy a szó szerepel-e a mondatban!
7. feladat: A beolvasott mondatról döntse el, hogy az visszafelé is ugyanazt jelenti-e! (Az ”Indul a görög aludni”, vagy a ”Géza kék az ég” visszafelé olvasva is ugyanazt jelenti.) Ügyeljen a mondatvégi írásjelekre, mivel azok a mondat elején nem szerepelnek.
8. feladat:   Olvasson be egy számot egy string típusú változóba, majd alakítsa szám típussá!
9. feladat: Olvasson be egy egyszerű, a négy alap-műveletet tartalmazó kifejezést (1+2,1*2,4-3,6/2, stb.) a billentyűzetről egy sring típusú változóba, majd a kifejezés értékét írja ki a képernyőre!
10. feladat: A beolvasott mondat kisbetűit alakítsa nagybetűsre, a nagybetűs karaktereket pedig kisbetűsre!
11. feladat: Két mondatról döntse el, hogy azonosak-e! Ha a kis és nagybetűk különböznek, a programnak akkor is megoldást kell adnia!
12. feladat: Az inputként beolvasott szövegben cserélje ki az összes szóközt a # karakterre, majd az így kapott szöveget írja ki a képernyőre!
13. feladat: Állapítsa meg, hogy az input szövegben szerepelnek-e számok!