Halloj. Äh, jag gör helt enkelt så att jag kör en replace på ?' och sen kör jag en NAD+CN med en adress, finns det inget där så kör jag en med två istället.Sträng som kan se ut på två sätt. Hur göra?
Försöker komma in i det här med RegEx och börjar nästan få lite kläm på det hela (men bara lite), nu
har jag dock stött på två hinder som jag inte vet hur jag ska reda ut, får inget vettigt ur de tutorials som jag läst heller. Delar in denna tråd i två frågor.
Fråga 1.
Jag har en sträng som kan se ut på dessa två sätt:
<code>
NAD+CN+123A4:ZZZ:DMD+Testnamn:Testgatan 1+++Teststad++12345+SE'
</code>
eller
<code>
NAD+CN+123A4:ZZZ:DMD+Testnamn:Att test:Testgatan 1+++Teststad++12345+SE'
</code>
Jag använder följande två Regex's
<code>
NAD\+CN\+(?<CID>(.*?))\:(?<CDEQ>(.*?))\:(?<TRPRESP>(.*?))\+(?<CNAME>(.*?))\:(?<CADDR>(.*?))\+\+\+(?<CCTY>(.*?))\+\+(?<CZIP>(.*?))\+(?<CCTR>(.*?))\'
</code>
och
<code>
NAD\+CN\+(?<CID>(.*?))\:(?<CDEQ>(.*?))\:(?<TRPRESP>(.*?))\+(?<CNAME>(.*?))\:(?<CADDR>(.*?))\:(?<CADDRA>(.*?))\+\+\+(?<CCTY>(.*?))\+\+(?<CZIP>(.*?))\+(?<CCTR>(.*?))\'
</code>
Nu är min fråga, kan man på något sätt kombinera dessa till en sträng som returnerar alla värden som finns? D v s om ADDR2 inte finns så skiter den helt enkelt i det eller rapporterar tillbaks ett nullvärde eller liknande?
-----------------------------
Fråga 2.
I ovanstående strängar kan tecknet ' (som annars är en segmentsterminator) användas. Det bakas dock in och ser ut som följer:
<code>
?'
</code>
för att symbolisera att enkelfnutten INTE avslutar strängen utan bara finns där för att, ja, den behövs där. Jag skulle gärna ersätta förekomsten av ?' med ´ (av praktiska skäl vid databashantering).
Går detta att göra?
När det gäller programmeringen som ska ha hand om detta så använder jag mig av Visual Studio 2005 Professional och VB.NET
//JohannesSv: Sträng som kan se ut på två sätt. Hur göra?
//Johannes