---
title: "Ta bort del av textsträng"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/13221-ta-bort-del-av-textsträng"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "Method"
published: "2001-12-16T16:13:00.000Z"
updated: "2001-12-17T07:02:00.000Z"
replies: 12
views: 316
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/13221-ta-bort-del-av-textsträng"
---

# Ta bort del av textsträng

## #1 — Method, 2001-12-16T16:13Z

Istället för att försöka förklara mitt önskemål ger jag ett exempel med en gång.
Om jag exempelvis har textsträngen "h218n2fls31o920.telia.com" vill jag ta bort det som är innan första punkten i strängen. DVS i detta fallet "h218n2fls31o920." och sedan spara "telia.com" till databasen.

Skall vara till en besöksräknare om någon redan har en färdig funktion för detta mottas denna med tacksamhet.

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

## #2 — SPiN, 2001-12-16T16:21Z

```
Function CutIt ( ByVal strHost )
&nbsp; &nbsp; Dim arrHost, strResult

&nbsp; &nbsp; arrHost = Split ( strHost, "." )
&nbsp; &nbsp; strResult = arrHost ( 1 ) & "." & arrHost ( 2 )
&nbsp; &nbsp; CutIt = strResult
End Function
```

 :q

Man kan ju göra på flera sätt, t.ex. ta ut positionen för första punkten och räkna efter den.

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

## #3 — Method, 2001-12-16T16:53Z

Får det inte att funka riktigt.

Har följande kod som jag ska använda:

```
sub get20
Dim DNS
   Dim A
Set DNS = Server.CreateObject("ASPDNS.DNSLookup")

  strSQL = "Select top 60 dtm, ip, klient, referer from logg order by dtm desc"
  set objRs = objConn.execute(strSQL)

  response.write "<table border='1' cellspacing='0' cellpadding='1'><tr><td class='text'><b>Datum</b></td>" &_
    "<td class='text'><b>Ipnummer</b></td><td class='text'><b>Klientinfo</b></td><td class='text'><b>Kom ifrån...</b></td></tr>"
  do until objRs.eof
A = DNS.GetNameFromIP( objRs( "ip" ) )

    response.write "<tr><td class='smal_text'>" & formatdatetime( objRs( "dtm" ), 0) & "</td><td class='smal_text'><a href=http://" & objRs( "ip" ) &_
      ">" & objRs( "ip" ) &"</a></td><td class='smal_text'>"& A &"</td><td class='smal_text'>" & objRs( "klient" ) & "</td><td class='smal_text'><a href=" & objRs( "referer" ) & " target=blank>" & objRs( "referer" ) & "</a>&nbsp;</td></tr>"

objRs.movenext
  loop
  response.write "</table>"
  set objRs = nothing
end sub

Set DNS = Nothing
```

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

## #4 — Brimba, 2001-12-16T18:30Z

Kan det vara såhär du menar?

```
sub get20
Dim DNS
Dim A
Set DNS = Server.CreateObject("ASPDNS.DNSLookup")
strSQL = "Select top 60 dtm, ip, klient, referer from logg order by dtm desc"
set objRs = objConn.execute(strSQL)

response.write "<table border='1' cellspacing='0' cellpadding='1'><tr><td class='text'><b>Datum</b></td>" &_
"<td class='text'><b>Ipnummer</b></td><td class='text'><b>Klientinfo</b></td><td class='text'><b>Kom ifrån...</b></td></tr>"
do until objRs.eof
CutIt(A) = DNS.GetNameFromIP( objRs( "ip" ) )

response.write "<tr><td class='smal_text'>" & formatdatetime( objRs( "dtm" ), 0) & "</td><td class='smal_text'><a href=http://" & objRs( "ip" ) &_
">" & objRs( "ip" ) &"</a></td><td class='smal_text'>"& A &"</td><td class='smal_text'>" & objRs( "klient" ) & "</td><td class='smal_text'><a href=" & objRs( "referer" ) & " target=blank>" & objRs( "referer" ) & "</a> </td></tr>"

objRs.movenext
loop
response.write "</table>"
set objRs = nothing
end sub

Set DNS = Nothing
```

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

## #5 — SPiN, 2001-12-16T18:36Z

Den här raden:

```
CutIt(A) = DNS.GetNameFromIP( objRs( "ip" ) )
```

Borde se ut så här:

```
A = CutIt ( DNS.GetNameFromIP ( objRs ( "ip" ) ) )
```

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

## #6 — Brimba, 2001-12-16T18:42Z

LOL!!!!!!!!!!!!!!!!!!!

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

## #7 — Brimba, 2001-12-16T18:43Z

Såhär skall det alltså vara, med funktion inbakad och allt :)

```
Function CutIt ( ByVal strHost )
    Dim arrHost, strResult
    arrHost = Split ( strHost, "." )
    strResult = arrHost ( 1 ) & "." & arrHost ( 2 )
    CutIt = strResult
End Function

sub get20
Dim DNS
Dim A
Set DNS = Server.CreateObject("ASPDNS.DNSLookup")
strSQL = "Select top 60 dtm, ip, klient, referer from logg order by dtm desc"
set objRs = objConn.execute(strSQL)
response.write "<table border='1' cellspacing='0' cellpadding='1'><tr><td class='text'><b>Datum</b></td>" &_
"<td class='text'><b>Ipnummer</b></td><td class='text'><b>Klientinfo</b></td><td class='text'><b>Kom ifrån...</b></td></tr>"
do until objRs.eof
A = CutIt(DNS.GetNameFromIP( objRs( "ip" ) ))

response.write "<tr><td class='smal_text'>" & formatdatetime( objRs( "dtm" ), 0) & "</td><td class='smal_text'><a href=http://" & objRs( "ip" ) &_
">" & objRs( "ip" ) &"</a></td><td class='smal_text'>"& A &"</td><td class='smal_text'>" & objRs( "klient" ) & "</td><td class='smal_text'><a href=" & objRs( "referer" ) & " target=blank>" & objRs( "referer" ) & "</a> </td></tr>"

objRs.movenext
loop
response.write "</table>"
set objRs = nothing
end sub

Set DNS = Nothing
```

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

## #8 — Method, 2001-12-16T20:08Z

OK jag vet inte vem som har rätt men kör jag Brimbas kod får jag följande fel
Microsoft VBScript runtime error '800a0009' 
Subscript out of range: '\[number: 1\]' 

/exclude/stats/Default.asp, line 16 

Rad 16 är följande:

```
strResult = arrHost ( 1 ) & "." & arrHost ( 2 )
```

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

## #9 — Brimba, 2001-12-16T20:42Z

Ok, såhär är det.

På det objektet du får ut "h218n2fls31o920.telia.com", skall du köra funktionen CutIt(). 

Nu gissade jag på att det var DNS.GetNameFromIP( objRs( "ip" ) ), men det kan mycket väl vara fel.

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

## #10 — LarsG, 2001-12-16T20:45Z

Då ser det ut som om den sträng du skickar till funktionen inte innehåller några punkter. 
Vad vill du ha tillbaka i det fallet? 

Vad skall hända om strängen innehåller mer än 2 punkter?

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

## #11 — Method, 2001-12-16T21:04Z

OK sorry mitt fel
Först har jag ip:t, sen gör jag en reverse lookup, då är det inte säkert att den hittar något domännamn och då skriver den en sträng utan punkter att det inte fanns ett domännamn.
På LarsG:s fråga den ska bara klippa tom första punkten 
Exempel "www.sth.bdab.nu" skall bli "sth.bdab.nu"
Jag vet jag är lite jobbig

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

## #12 — LarsG, 2001-12-16T21:12Z

Då är det väl enklast att skriva så här

```
Function CutIt ( ByVal strHost )
CutIt = mid(strHost,instr(strHost,".")+1)
End Function
```

och då är det knappt någon ide att göra en egen funktion av det.

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

## #13 — Method, 2001-12-17T07:02Z

Funkar bra nu thx

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

---

Tråden på webben: https://www.webforum.nu/amne/asp/13221-ta-bort-del-av-textsträng
