• Opret dig
  • Glemt adgangskode

User account menu

  • Artikler
  • Forside
  • Forum
  • Nyheder
  • Log ind
Hjem
LinuxIN.dk

Snak med

Opret dig!

Af kenzu | 21.09.2010 15:11

Regular Expression hjælp

Programmering
Hej

Er der nogen der kan hjælpe mig med at lave en regex sætning der kan fjerne "/" i følgende sætningen:

"Firma Navn A/S 0059", vil gerne have fjernet "/" så den bliver til "Firma Navn AS 0059"

Jeg er helt blank og har prøvet en masse og læst på nettet, men synes ikke der det virker. Kan det overhovedet lade sig gøre?

Mvh Jesper
  • Log ind eller opret dig for at tilføje kommentarer

Kommentarer12

# 1

14 år 9 måneder siden

Permalink

Indsendt af kenzu den 21. september 2010 kl. 15:16

Permalink

Dette "[\s\w]*" giver mig

Dette "[\s\w]*" giver mig "Firma Navn A" men alt efter / mangler...
  • Log ind eller opret dig for at tilføje kommentarer

# 2

14 år 9 måneder siden

Permalink

Indsendt af dudsen den 21. september 2010 kl. 15:31

Permalink

s/A\/S/AS/g burde virke

s/A\/S/AS/g burde virke tricket er at / skal escapes. men hvad escape char er afhænger af regexp dialekt, i vi er det \
  • Log ind eller opret dig for at tilføje kommentarer

# 3

14 år 9 måneder siden

Permalink

Indsendt af kenzu den 21. september 2010 kl. 15:42

Permalink

#2 giver ingen output

#2 giver ingen output :-(

Jeg ved ikke hvilket sprog der ligger bag det regulære udtryk. Det er et program til scan opgaver der hedder Simplify Scan hvor jeg skal bruge det i noget ZoneORC.
  • Log ind eller opret dig for at tilføje kommentarer

# 4

14 år 9 måneder siden

Permalink

Indsendt af dudsen den 21. september 2010 kl. 15:53

Permalink

med sed -e "s/A\/S/AS/" får

med sed -e "s/A\/S/AS/" får jeg det forventede resultat. Du er næsten nødt til at finde manualen til simplify scan det kan ske at escape char er noget custom.
  • Log ind eller opret dig for at tilføje kommentarer

# 5

14 år 9 måneder siden

Permalink

Indsendt af marlar den 21. september 2010 kl. 20:52

Permalink

#3: Nu har du vel kopieret

#3: Nu har du vel kopieret udtrykket direkte og ikke skrevet det manuelt? For hvis du har, kan du nemt have misforstået det som et V i stedet for \ + /. Der står altså ikke AVS men A backslash+slash S :-)
  • Log ind eller opret dig for at tilføje kommentarer

# 6

14 år 9 måneder siden

Permalink

Indsendt af kenzu den 21. september 2010 kl. 23:32

Permalink

Ja jeg har kopieret det. Men

Ja jeg har kopieret det. Men det giver mig intet. En af jer der kan forklare den sætning stump for stump?
  • Log ind eller opret dig for at tilføje kommentarer

# 7

14 år 9 måneder siden

Permalink

Indsendt af dudsen den 22. september 2010 kl. 08:30

Permalink

"s" angiver at vi vil søge

"s" angiver at vi vil søge ikke altid nødvendig "/" søgestreng er realt "A/S" start på søgning "\" angiver at næste tegn er "specielt" ie at "/" ikke skal opfattes som start på erstat felt. "/" start på erstat felt "AS" erstat felt "/" slut på erstat
  • Log ind eller opret dig for at tilføje kommentarer

# 8

14 år 9 måneder siden

Permalink

Indsendt af marlar den 22. september 2010 kl. 08:35

Permalink

Forklaringen er ret simpel.

Forklaringen er ret simpel. Erstat alle A/S med AS.

Problemet er bare at / (slash) bruges som standardafgrænser i sed, og derfor skal / "escapes" ved at sætte backslash foran:

s/A\/S/AS

Men der er en anden mulighed, for man kan i sed og mange andre sprog frit vælge afgrænser. Fx | :

s|A/S|AS

Prøv følgende i en terminal:
echo "A/S" | sed "s|A/S|AS|"

Men spørgsmålet er hvad du egentligt har brug for. Er det kun A/S der skal erstattes med AS eller er det også alle andre skråstreger der skal fjernes. Det bestemmer nemlig metodikken.
  • Log ind eller opret dig for at tilføje kommentarer

# 9

14 år 9 måneder siden

Permalink

Indsendt af kenzu den 22. september 2010 kl. 11:17

Permalink

Det er faktisk alle

Det er faktisk alle underlige tegn som ikke kan indgå i et filnavn.
Prøver det lige igen om lidt...
  • Log ind eller opret dig for at tilføje kommentarer

# 10

14 år 9 måneder siden

Permalink

Indsendt af kenzu den 22. september 2010 kl. 11:23

Permalink

Det her er ved der står i

Det her er hvad der står i hjælpen til programmet:

How to - use Regular Expressions

A regular expression, often called a pattern, is an expression that describes a set of strings. They are typically used to give a concise description of a set, without having to list all elements. For example, the set containing the three strings "Handel", "Händel", and "Haendel" can be described by the pattern H(ä|ae?)ndel (or alternatively, it is said that the pattern matches each of the three strings). In most formalisms, if there is any regular expression (Often refered to as a regex) that matches a particular set then there is an infinite number of such expressions. Most formalisms provide the following operations to construct regular expressions.

Description of the characters:

. : matches any single character. Within square bracket expressions, the dot character matches a literal dot. For example, a.c matches "abc", etc., but [a.c] matches only "a", ".", or "c".
[ ] : a bracket expression matches a single character that is contained within the brackets. For example, [abc] matches "a", "b", or "c". [a-z] specifies a range which matches any lowercase letter from "a" to "z". These forms can be mixed: [abcx-z] matches "a", "b", "c", "x", "y", or "z", as does [a-cx-z]. The - character is treated as a literal character if it is the last or the first character within the brackets, or if it is escaped with a backslash: [abc-], [-abc] or [a\-bc].
[^ ] : matches a single character that is not contained within the brackets. For example, [^abc] matches any character other than "a", "b", or "c". [^a-z] matches any single character that is not a lowercase letter from "a" to "z". As above, literal characters and ranges can be mixed.
^ : matches the starting position within the string.
$ : matches the ending position of the string.
\n : matches what the nth marked subexpression matched, where n is a digit from 1 to 9.
* : matches the preceding element zero or more times. For example, ab*c matches "ac", "abc", "abbbc", etc. [xyz]* matches "", "x", "y", "z", "zx", "zyx", "xyzzy", and so on. \(ab\)* matches "", "ab", "abab", "ababab", and so on.
? : matches the preceding element zero or one time. For example, ba? matches "b" or "ba".
+ : matches the preceding element one or more times. For example, ba+ matches "ba", "baa", "baaa", and so on.
| : the choice operator matches either the expression before or the expression after the operator. For example, abc|def matches "abc" or "def".

Examples:
.at : matches any three-character string ending with "at", including "hat", "cat", and "bat".
[hc]at : matches "hat" and "cat".
[^b]at : matches all strings matched by at except "bat".
^[hc]at : matches "hat" and "cat", but only at the beginning of the string or line.
[hc]at$ : matches "hat" and "cat", but only at the end of the string or line.
[hc]+at : matches "hat", "cat", "hhat", "chat", "hcat", "ccchat", and so on, but not "at".
[hc]?at : matches "hat", "cat", and "at".
cat|dog : matches "cat" or "dog".
  • Log ind eller opret dig for at tilføje kommentarer

# 11

14 år 9 måneder siden

Permalink

Indsendt af marlar den 22. september 2010 kl. 20:50

Permalink

Dens regex-implementation

Dens regex-implementation ser ud til at være helt standard. Spørgsmålet er derfor hvordan man får den til at erstatte. Har du to felter, et til søgemønsteret, og et til det det skal erstattes med?
  • Log ind eller opret dig for at tilføje kommentarer

# 12

14 år 9 måneder siden

Permalink

Indsendt af kenzu den 22. september 2010 kl. 23:40

Permalink

Nej det ser ikke ud til at

Nej det ser ikke ud til at jeg har mulighed for at erstatte :-(
Jeg kan splitte ser det ud til. Der er ihvertfald en splitindex boks.
  • Log ind eller opret dig for at tilføje kommentarer

Svar søges

llumos Unix-operativsystem, 0
Den er go 0
14. februar = I Love Free Software Day 0
Lokal fil-deling - for de dovne. 0
Linux fra begynder til professionel af O'Reilly 0

Seneste aktivitet

PCLinuxOS 24
Open Source-eksperimentet 3
Nulstilling af adgangskode 5
Gode anmeldelser Zorin OS 17.3 2
"Intet realistisk alternativ" - mig i r*ven 15
Ingen Mint 5
Linux App Store Flathub når 3 milliarder downloads 2
Digitaliseringsministeriet sætter gang i pilotprojekt om digital suverænitet 3
Mest sikker webbrowser 5
Firefox 2
Privatbeskeder 7
Backup/synkronisering? 3
BigLinux 5
Chatgpt satire 1
Læsning af databasefil i Firefox 2
Vanilla OS 15
Pepsi Challenge 4
Linuxin er nu migreret til Drupal 11 13
Et Dansk alternativ til Facebook 18
Ekstern Blu-ray-brænder, der fungerer med PCLinuxOS 3

© 2025 Linuxin og de respektive skribenter

Oprettet og drevet af nørder siden 2004 !