Eliminați caracterele înainte de orice caractere speciale c #

Încerc să îndepărtez caracterele dintr-un șir PRIOR la ​​ORICE caractere non-alfanumerice. De exemplu, spuneți că aveți un nume "James Ebanks-Blake", pot să o împărțiți într-o matrice utilizând:

var s = "James Ebanks-Blake".Split(' ');

Chiar dacă există mai mult de un spațiu, va face doar mai mulți indici de matrice. Așa că trebuie să fac buclă prin toate matricele, să găsesc indici cu un caracter special, apoi să eliminăm toți indicele și caracterul special.

Poate cineva să mă ajute?

0
vreau doar să obțin "Blake" în acest caz. Deci, caracterele speciale ar fi acelea care nu sunt prin z sau orice cifre. În acest mod, același cod ar funcționa dacă numele persoanei era Scarlet O'Hara. (Care ar produce "Hara", și în timp ce acest lucru ar putea fi banal, există cazuri în care ar fi pertinent ...
adăugat autor GenXisT, sursa
da! Am editat până târziu (lol)
adăugat autor GenXisT, sursa
Care este rezultatul așteptat al dvs. de mai sus? "Blake"? Ce considerați un personaj "special"?
adăugat autor Cᴏʀʏ, sursa
Așa că v-ați aștepta doar "Hara" din exemplul Scarlet?
adăugat autor Cᴏʀʏ, sursa

2 răspunsuri

Lucrează aici

[-^$#](.*)

Doar adăugați ceea ce considerați caractere speciale în interiorul clasei de caractere

Șirul dorit va fi în grupa 1

resultString = Regex.Match(subjectString, "[-^$#](.*)", RegexOptions.Singleline).Groups[1].Value;
0
adăugat
Aceasta pare să funcționeze, cu excepția cazului în care am încercat-o pe versiunea Scarlett O'Hara. Nu produc niciun rezultat. Se pare că regexul are nevoie de un mic truc. (Nu am idee ce se întâmplă într-o expresie regex).
adăugat autor GenXisT, sursa
Corect ... Am luat-o acum ... "clasa de caractere" este în interiorul bracketts ... așa că am adăugat "acolo și a funcționat! Minunat. Mulțumesc foarte mult!!
adăugat autor GenXisT, sursa
Doar adăugați ceea ce considerați special în interiorul clasei de caractere, adică între [și]. Deci, pentru Scarlett O'Hara, trebuie să adăugați citatul unic "și devine [- ^ $ # ']
adăugat autor buckley, sursa
yay Bun unul :)
adăugat autor buckley, sursa

[- '] (. *)

Ar trebui să apucați orice după - și '. Dacă doriți, puteți adăuga mai multe caractere în secțiunea []. Doar asigurați-vă că scăpați de cele speciale de tip regex.

0
adăugat