Avatar billede skjoldan Nybegynder
31. marts 2003 - 14:48 Der er 11 kommentarer

fjern ikke bogstaver eller tal???

Hey alle

Jeg har en tekstfil med bl.a. følgende tekst:

form=ÿ$ÿ# Creme

hvordan får jeg fjernet ÿ$ÿ#

der står ikke altid form= foran tegnene - og det står ikke i alle mine tekstfiler.

det skal helst være noget som kan kodes i C

nogle som har nogle ideer??
Avatar billede arne_v Ekspert
31. marts 2003 - 15:03 #1
Du læser den int i en stren (char array) og fjerner alle
ikke bogstav/tal.

char s[] = "form=ÿ$ÿ# Creme";
char s2[100];
int i;
int ix;
ix=0;
for(i=0;i<strlen(s);i++) {
  if(isalnum(s[i])) {
      s2[ix]=s[i];
      ix++;
  }
}
s2[ix]='\0';
Avatar billede arne_v Ekspert
31. marts 2003 - 15:05 #2
isalnum kræver:

#include <ctype.h>

strlen kræver:

#include <string.h>
Avatar billede arne_v Ekspert
31. marts 2003 - 15:12 #3
Hvis isalnum ikke matcher dine specifikke krav, så laver
du din egen funktion til at vælge præcis som du vil.
Avatar billede olennert Nybegynder
31. marts 2003 - 19:31 #4
arne> Et lille nitpick er at dit eksempel tager ikke højde for locales.

skjoldan> På http://www.cuj.com/experts/1909/austern.htm?topic=experts kan du se hvordan det kan gøres med C++ standard library og function objects.
Avatar billede arne_v Ekspert
31. marts 2003 - 19:40 #5
olennart>

Jeg troede faktisk at ctype.h brugte locales !?!?
Avatar billede olennert Nybegynder
31. marts 2003 - 19:45 #6
arne> Undskyld, jeg har skrevet noget sludder, jeg havde hovedet under armen.
ctype.h *bruger* locales.
Avatar billede arne_v Ekspert
31. marts 2003 - 19:45 #7
Det fremgår faktisk også af det link du giver. Deres pointe er
at man kunne have lyst til at bruge forskellige locales i samme
program.

Interessant, men næppe relevant for ret mange programmer.
Avatar billede olennert Nybegynder
31. marts 2003 - 19:47 #8
Derudover kan jeg bedre lide C++-måden at gøre det på. Men det er et spørgsmål om personlig preference, det du har skrevet vil virke fint.
Avatar billede arne_v Ekspert
31. marts 2003 - 19:51 #9
C++ er en klar forbedring i forhold til C.

På mange områder.

[men spørgeren nævnte jo eksplicit at han brugte C]
Avatar billede olennert Nybegynder
31. marts 2003 - 19:53 #10
Suk. Jeg må se at lære at få læst spørgsmålet ordentligt før jeg skriver en kommentar.

Jeg pakker pænt sammen, og lusker tilbage i hundehuset....

:-)
Avatar billede arne_v Ekspert
13. april 2003 - 20:34 #11
skjoldan>

Har du fået svar på dit spørgsmål ?
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
Kurser inden for grundlæggende programmering

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