Metin İçindeki Metni Değiştir - CSharp


Metin içindeki metni değiştirmeye yarayan csharp kodu alternatifidir.

Kod


/// <summary>
/// Metin değiştirme işleminin başka bir şekli.
/// </summary>
/// <param name="metin"></param>
/// <param name="değiştirilecek"></param>
/// <param name="eklenecek"></param>
/// <returns></returns>
public static string MetinIcindekiMetniDegistir(
	string metin, string değiştirilecek, string eklenecek)
{
	//if (değiştirilecek == "[enter]")
	//{
	//    değiştirilecek = "\n";
	//}
	//else if (değiştirilecek == "[tab]")
	//{
	//    değiştirilecek = "\t";
	//}

	metin = metin.Replace(değiştirilecek, eklenecek);

	//Dikkat!
	//Buradaki kodda şöyle bir durum var. Normalde de satırlar
	//yeni satır karakteriyle ayrılıyor. Bu yüzden de ayırma 
	//işlemi istediğimiz yerden değil de bu noktalardan olabiliyor.
	//Bu yüzden ilk olarak bu karakterleri devre dışı bırakıp
	//o şekilde işlem yaptırıyoruz. Zaten olan yeni satır 
	//karakterlerini 
	if (metin.Contains(@"\n"))
	{
		StringBuilder stringBuilder = new StringBuilder();

		metin = metin.Replace(@"\n", "æ");
		string[] dizi = metin.Split('æ');
		string mtn = "";

		for (int i = 0; i < dizi.Length; i++)
		{
			mtn = mtn + dizi[i] + "\n";
		}

		metin = mtn;
	}

	if (metin.Contains(@"\r"))
	{
		StringBuilder stringBuilder = new StringBuilder();

		metin = metin.Replace(@"\r", "æ");
		string[] dizi = metin.Split('æ');
		string mtn = "";

		for (int i = 0; i < dizi.Length; i++)
		{
			mtn = mtn + dizi[i] + "\r";
		}

		metin = mtn;
	}

	if (metin.Contains(@"\t"))
	{
		StringBuilder stringBuilder = new StringBuilder();

		metin = metin.Replace(@"\t", "æ");
		string[] dizi = metin.Split('æ');
		string mtn = "";

		for (int i = 0; i < dizi.Length; i++)
		{
			mtn = mtn + dizi[i] + "\t";
		}

		metin = mtn;
	}

	return metin;
}

Etiketler
csharp