Frågan#1 Hejsan!
Jag har ett problem som jag inte finner en lösning på.
Jag behöver plocka ut x antal siffror som inleder en sträng,
strängen kan se ut så här: 123, bla bla bla, 2011-02-16 kl. 20.00
Det jag vill göra är alltså att plocka bort allt utom 123
För tydlighetens skull kan jag berätta att jag kodar en webbapplikation i asp.net med c# som codebehind.
Någon som kan hjälpa?
Tack på förhand!
GGunnarDMedlem sedan juni 20014 290 inlägg Det reguljära utrycket blir så här:
^(\d+?)
Tack för förslaget, men jag får det ändå inte att fungera
Så här ser min kod ut:
string GetInitialNumbers = Regex.Replace(GetSelect, "\[^0-9\]", "");
Felet är ju att ALLA siffror i strängen följer med.
Jag gör antagligen ett "klantfel" när jag använder "^(\d+?)" eftersom jag får ett felmeddelande att \ inte är tillåtet.
[] och () är inte samma sak
[^0-9] säger att den skall hitta alla tecken som inte är ett tal.
@"^(\d+?)"
skall du skriva så är första gruppen det tal du är ute efter.
Detta var klurigt!
Därför kommer nästa nybörjarfråga
Hur implementerar jag
@"^(\d+?)"
i projektet? Jag ska bara använda "Replace" en gång och behöver därför ingen klass.
Fast det är ju inte en replace du vill köra, du vill ju få ut matchningen
Regex regexObj = new Regex(@"^(\d+?)", RegexOptions.Singleline | RegexOptions.IgnoreCase);
//regexObj.Match(subjectString).Groups[1].Value;
Jag har löst problemet med hjälp av sista svaret. Tacktack!