---
title: "Inte räkna alla tecken"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/48962-inte-räkna-alla-tecken"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "ampy"
published: "2002-07-29T08:05:24.000Z"
updated: "2002-07-29T22:50:23.000Z"
replies: 11
views: 385
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/48962-inte-räkna-alla-tecken"
---

# Inte räkna alla tecken

## #1 — ampy, 2002-07-29T08:05Z

Har denna kod för att räkna ut antal tecken i genomsnitt:

```
Set uRS = Connect.Execute("select avg(char_length(meddelande)) as averageLength from forum where skribent = '"&username&"'") 
Response.Write Round(uRS("averageLength"),1)
```

Men jag vill att den inte ska räkna alla tecken som finns mellan \[ CITAT\] och \[ /CITAT\] och den ska inte heller räkna orden \[ CITAT\] och \[ /CITAT\]

Hur gör man detta?

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

## #2 — Erik Juhlin, 2002-07-29T08:14Z

Kanske så här:

```
replace(meddelande, 'och', '')
```

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

## #3 — ampy, 2002-07-29T08:17Z

Kolla min redigering på första inlägget, blev lite fel innan.

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

## #4 — Erik Juhlin, 2002-07-29T09:22Z

Ouch, lite jobbigare. Osäker på om det går med SQL. :l

Blir nog till o loopa, fixa med RegExp och sen räkna ihop. Kluddigt... :l

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

## #5 — ampy, 2002-07-29T09:31Z

Tror jag läste någonstans om att det finns en inbyggd funktion i MySQL som kan göra detta.

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

## #6 — LarsG, 2002-07-29T18:41Z

Du får nog lösa det med VB-script, som Erik säger.

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

## #7 — ampy, 2002-07-29T22:13Z

> **LarsG skrev:**
>
> Du får nog lösa det med VB-script, som Erik säger.

Hur?

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

## #8 — LarsG, 2002-07-29T22:24Z

```
Set uRS = Connect.Execute("select meddelande from forum where skribent = '"&username&"'") 
set o = new regexp
o.ignorecase = true
o.global = true
o.pattern = "\[CITAT\].*?\[\/CITAT\]"
l = 0
c = 0
while not rs.eof
  l = l + len(o.replace(rs("meddelande"),""))
  c = c + 1
  rs.movenext
wend
if  c <> 0 then avg = cdbl(len)/cdbl(c) else avg = 0
```

Ungefär så. Jag har inte testat. Du kan ju titta lite på andra inlägg om regexp. Jag har för mig att jag sett ett inlägg där någon ville ta bort just CITAT från en text.

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

## #9 — ampy, 2002-07-29T22:30Z

Tar denna kod bort det som är emellan CITAT och /CITAT?

(räknar bort)

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

## #10 — LarsG, 2002-07-29T22:37Z

Joo, det är tänkt så.

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

## #11 — ampy, 2002-07-29T22:39Z

har ändrat så koden ser ut så här nu:

```
			Set uRS = Connect.Execute("select meddelande from forum where skribent = '"&username&"'") 
			set o = new regexp
			o.ignorecase = true
			o.global = true
			o.pattern = "\[CITAT\].*?\[\/CITAT\]"
			l = 0
			c = 0
			while not uRS.eof
			  l = l + len(o.replace(uRS("meddelande"),""))
 			  c = c + 1
			  uRS.movenext
			wend
			if  c <> 0 then avg = cdbl(len)/cdbl(c) else avg = 0

			set uRS = nothing
			set o = nothing
```

Men får:

Fel antal argument eller felaktig egenskapstilldelning.: 'Len'

Testade då med char_length men det funkade inte heller. Använder MySQL-databas

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

## #12 — LarsG, 2002-07-29T22:50Z

Vilken databas har ingen betydelse i detta sammanhang. Finns det meddelanden som är null? I så fall kan du skriva om select-satsen

```
Set uRS = Connect.Execute("select meddelande from forum where skribent = '"&username&"' and meddelande is not null")
```

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

---

Tråden på webben: https://www.webforum.nu/amne/asp/48962-inte-räkna-alla-tecken
