Avatar billede beef12 Nybegynder
10. december 2004 - 12:53 Der er 8 kommentarer og
1 løsning

finde første og sidste komma i en streng

Hvordan finder jeg nemmest det første og det sidste komma i en streng?

f.eks. ("xx,sadfsdf,sdfdfsf,sdf,yy");

altså komma lige efter xx og komma før umiddelbart før yy
Avatar billede the_party_dog Nybegynder
10. december 2004 - 12:55 #1
int i = TestString.IndexOf(",", 0, TestString.Length);

Den finder det første komma.

int j = TestString.LastIndexOf(",",0, TestString.Length);
Avatar billede beef12 Nybegynder
10. december 2004 - 13:02 #2
nå ok - så returnerer den bare komma'ets position, som integer?
Det tror jeg var svaret, tak.

Men... jeg sniger lige et tillægsspm ind :-) Hvordan fjerner jeg så de to kommaer?
Avatar billede the_party_dog Nybegynder
10. december 2004 - 13:06 #3
TestString = TestString.Remove(j - 1, 1);
TestString = TestString.Remove(i - 1, 1);

Det sidste komma slettes først, for ikke at ændre positionen på det første komma.
Avatar billede beef12 Nybegynder
10. december 2004 - 13:07 #4
Smart...

Tak for det. Smid et svar så er pointene dine :-)
Avatar billede the_party_dog Nybegynder
10. december 2004 - 13:08 #5
svar... Håber det hjalp, giver det problemer, er det i Remove du skal lede efter fejlen... :) Skriv lige om det virker, eller hjælper jeg da gerne lidt mere...
Avatar billede beef12 Nybegynder
10. december 2004 - 14:08 #6
ok... tak.
Jeg prøvede faktisk noget af nysgærrighed. Nemlig at anvende replace i stedet for remove. Jeg ville bare vide om man kan lave replace på en position. Men det virkede ikke...
Avatar billede beef12 Nybegynder
10. december 2004 - 14:17 #7
skulle bare bruge insert istedet :-)
Avatar billede beef12 Nybegynder
10. december 2004 - 14:26 #8
hmm den fejler ved denne linie

int i = calcvalWithIIF.IndexOf(",", 0, calcvalWithIIF.Length);

fejmeddelsen er som følger:

Unhandled Exception: System.ArgumentOutOfRangeException: Count must be positive
and count must refer to a location within the string/array/collection.
Parameter name: count
  at System.Globalization.CompareInfo.LastIndexOfString(Void* pSortingTable, In
t32 win32LCID, String source, String value, Int32 startIndex, Int32 count, Int32
options)
Avatar billede burningice Nybegynder
11. december 2004 - 21:51 #9
hvis du skal skifte et enkelt tegn ud kan du udnytte det at en string er et array af chars:

int f = // Første komma
int s = // Sidste komma

dinString[f] = // nyt tegn
dinString[s] = // nyt tegn
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester