---
title: "Regexp, matcha tom sträng"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/176969-regexp-matcha-tom-sträng"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "devotion"
published: "2009-02-16T17:39:46.000Z"
updated: "2009-02-17T16:05:06.000Z"
replies: 2
views: 430
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/asp/176969-regexp-matcha-tom-sträng"
---

# Regexp, matcha tom sträng

## #1 — devotion, 2009-02-16T17:39Z

Hej

Jag har följande fina funktion:

```
Function GetFieldValue(sKey, sText)
    Dim re, m
    Set re = New RegExp
    re.Pattern = "(?:^|[\r\n]{1,2})" & sKey & ":\s+"
    If LCase(sKey) = "felbeskrivning" Then
        re.Pattern = re.Pattern & "((?:.|\r|\n)*)"
    Else
        re.Pattern = re.Pattern & "([^\r\n]*)"
    End If
    Set m = re.Execute(sText)
    If m.Count > 0 Then
        GetFieldValue = m(0).SubMatches(0)
    Else
        GetFieldValue = ""
    End If
End function
```

Man anropar den tex så här:

```
sCustomerNo=GetFieldValue("Kundnr", sMsg)
```

Filen som läses av ser ut så här:

> Kundnr: 
> Namn: Henrik Lindell
> Adress: Träsmedsvägen 13
> Postnr: 370 42
> Ort: Orten
> Telefonnr: 0455-11111
> Mobilnr: 0700 - 123456
> Modell: IVT
> Serienr: 123456789
> Tillverkningsår: 2008
> Felbeskrivning: Testar igen!

Om tex Kundnr är tomt, så blir det fel. Hur modifierar man schemat, att Getfieldvalue blir en tom sträng om nägot fält saknas?

 :)   

Mvh
Henrik

Permalänk: https://www.webforum.nu/p/176969

## #2 — Peter S, 2009-02-17T10:13Z

```
Function GetFieldValue(sKey, sText)
    Dim re, m
    Set re = New RegExp
    re.Pattern = "(?:^|[\r\n]{1,2})" & sKey & ":[ ]*"
    If LCase(sKey) = "felbeskrivning" Then
        re.Pattern = re.Pattern & "((?:.|\r|\n)+)"
    Else
        re.Pattern = re.Pattern & "([^\r\n]+)"
    End If
    Set m = re.Execute(sText)
    If m.Count > 0 Then
        If m(0).SubMatches.Count > 0 Then
            GetFieldValue = m(0).SubMatches(0)
        Else
            GetFieldValue = ""
        End If
    Else
        GetFieldValue = ""
    End If
End function
```

Permalänk: https://www.webforum.nu/p/2169276

## #3 — devotion, 2009-02-17T16:05Z

Thanx! :p   

Mvh
Henrik

Permalänk: https://www.webforum.nu/p/2169322

---

Tråden på webben: https://www.webforum.nu/amne/asp/176969-regexp-matcha-tom-sträng
