Kezdőoldal » Számítástechnika » Programozás » Mi lehet a hiba a c# kódomban?

Mi lehet a hiba a c# kódomban?

Figyelt kérdés

string betuk = textBox1.Text;

string betukn = betuk.Normalize(NormalizationForm.FormD); ;



if (e.KeyChar == (char)Keys.Enter)

{

textBox2.Text = betukn;

}



Azt szeretném elérni hogy az ékezetes betűket amiket beírok kicserélje ékezet nélküli formájára. Csak nem igazán akarja. Valaki ötlet?


2019. márc. 24. 18:01
 1/7 A kérdező kommentje:
A fomrmD után nincs két ; az csak véletlen került oda. Tehát a kód lefut csak nem csinálja amit szeretnék.
2019. márc. 24. 18:02
 2/7 anonim ***** válasza:

Ok, csak hogy a Normalize egyáltalán nem ezt csinálja:

Normalize(NormalizationForm)

Returns a new string whose textual value is the same as this string, but whose binary representation is in the specified Unicode normalization form.

2019. márc. 24. 18:12
Hasznos számodra ez a válasz?
 3/7 A kérdező kommentje:
Akkor mivel tudom megcsinálni azt amit én szeretnék? :D
2019. márc. 24. 18:16
 4/7 anonim ***** válasza:
Nem tudom honnan vette ezt a Normalize hívást, de még kéne egy ciklus utána ami a NonSpacingMark-okat kiveszi a stringedből.
2019. márc. 24. 18:20
Hasznos számodra ez a válasz?
 5/7 anonim ***** válasza:

Google: replace accents c#


Első találat:


[link]

2019. márc. 24. 18:26
Hasznos számodra ez a válasz?
 6/7 A kérdező kommentje:
Azzal kezdtem hogy neten végig gugliztam minden csak semmi használhatót nem találtam...
2019. márc. 24. 18:35
 7/7 anonim ***** válasza:

Hát akkor te vagy az első a világon aki ilyet akar csinálni... várjunk csak, lenyúlom az ötleted és meggazdagszom belőle...


Itt a kód, de most szabadalmaztattam, úgyhogy nem használhatod (és senki más sem):

static string RemoveDiacritics(string text)

{

    var normalizedString = text.Normalize(NormalizationForm.FormD);

    var stringBuilder = new StringBuilder();


    foreach (var c in normalizedString)

    {

        var unicodeCategory = CharUnicodeInfo.GetUnicodeCategory(c);

        if (unicodeCategory != UnicodeCategory.NonSpacingMark)

        {

            stringBuilder.Append(c);

        }

    }


    return stringBuilder.ToString().Normalize(NormalizationForm.FormC);

}

2019. márc. 24. 18:39
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:





Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!