Znaki specjalne

0

Cześć,

Mam do Was takie pytanie. Otóż mam tablicę znaków specjalnych zapisanych w formie stringu, np.: "\n", "\t". Chciałbym znaki te zmienić na znaki specjalne, odpowiednio: '\n', '\t'. Jednak nie na zasadzie:

if (znak == "\n") { znak_spec = '\n'; }

Interesuje mnie coś bardziej uniwersalnego, tak bym nie musiał definiować nowego znaku, jeśli chcę go przełożyć na specjalny.

Mam nadzieję, że zagadnienie rozsądnie opisałem. Poproszę Was o pomoc, może jest jakaś metoda w .Netcie ogarniająca takie zagadnienie.

0

Tak do konca nie rozumiem jaki masz cel?
Znaki specjalne sa standardowe dla string'ow w .NET'cie i raczej nie mozesz dodawac swoich wlasnych (nigdy sie z tym nie spotkalem).
Jesli twoj problem to np jak pokazywac emotikony w string'u to spojrz jak to na wszystkich forach jest rozwiazane czy chociazby na gg. Slowa/znaki specjalne dajesz w klamrach np [slonce] i pozniej taki tag jest zamieniany na odpowiednia rzecz, jaka ma reprezentowac.

0

znak_spec = Convert.ToChar(znak) albo po prostu rzutowanie nie załatwi sprawy?

0

jesli swoje znaki specjalnie przechowujesz w stringu i sa oddzielone tak jak pokazales to mozesz zrobic metode do ciecia po znakow zbior czyli robisz delimiter i uzywasz metody split na stringu
nie chce mi sie wlaczac srodowiska ale cos mniej wiecej

char delimiter = ','; //raczej nie powinienes stosowac , jako delimitera bo to spore ograniczenie
string wybrane_znaki = "\n,\t,\r";
string[] znaki_specjalne = wybrane_znaki.Split(delimiter); // albo ...Split(new char[] { delimiter });

//no i masz wtedy ten zbior znakow specjalnych i mozesz tam zrobic ten warunek switch lub if jaki cie interesuje
0
string str = "\n";
char chr = str[0];

?

Poza tym coś nie tak kombinujesz.
Czy nie chodzi ci czasem o zamianę "\n" na "\n" ?

0

chodzi ci zeby nie pisac sto razy if (znak="jakis tam") zamien na specjalny?

jesli tak stworz sobie jaks kolekcje, ktora powie ci co na co mapowac
znak - znak specjalny

a pozniej musisz sprawdzic czy twoj znak znajduje sie w kolekcji, jesli tak zamienic go na specjalny

gdzie bedziesz skladowal taka tablice mapowac (plik txt, xml, baza danych, hard code w kodzie) to juz twoja sprawa, skladowanie jej nie w kodzie umozliwi ci jej zmienianie bez ingerencji w program

o to chodzilo? bo jesli nie to znaczy ze nic nie skumalem z posta :-P

0
static void Main( string[] args )
{
	string[ , ] znakiSpecjalne = { 
								   { "\\n", "\n" },
								   { "\\t", "\t" },
						   };
	string tekst = "Pewien \\t przykladowy \\n tekst";

	Console.WriteLine( tekst );

	for (int i = 0; i < znakiSpecjalne.GetLength(0); i++)
	{
		tekst = tekst.Replace( znakiSpecjalne[ i, 0 ], znakiSpecjalne[ i, 1 ] );
	}

	Console.WriteLine( tekst );
}

1 użytkowników online, w tym zalogowanych: 0, gości: 1