---
title: "Räkna ord"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/137744-räkna-ord"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "J.N."
published: "2005-11-16T12:47:54.000Z"
updated: "2005-11-29T14:53:06.000Z"
replies: 10
views: 549
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/137744-räkna-ord"
---

# Räkna ord

## #1 — J.N., 2005-11-16T12:47Z

HEJ!

Jag vill räkna ord, vilket jag löst genom att räkna antal mellanslag + 1.
Men, det blir fel när det finns radbrytningar.

Hämtar orden med en trim-funktion, vilken tar bort inledande/avslutande mellanslag. Har trott att den skulle fixa enter också, men så är inte fallet.

```
Set objRegExp = New RegExp
objRegExp.Global = True
objRegExp.Pattern = "\s+" 'mellanslag: räknar ej flera flera efter varandra
Set Matches = objRegExp.Execute(orden)

response.write Matches.count + 1

Exempel:
lorem
ipsum
[enter]

ger 3 ord
```

 
Trodde mig ha sett en lösning på detta problem, men nej.

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

## #2 — Jesper T, 2005-11-16T13:50Z

Ja, efersom att \\s även träffar bl.a. \\n

```
objRegExp.Pattern = " +"
```

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

## #3 — J.N., 2005-11-17T10:04Z

HEJ!

Nja, då får jag ingen träff med "lorem\<enter\>ipsum\<enter\>". Tar jag bort det sista \<enter\> får jag två i resultat, vilket ju är korrekt!

Ska \\s träffa \\n också?
"Matches only on a blank space" säger DevGuru?
Eller det räknas som "blank space", fast i höjdled?

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

## #4 — Jesper T, 2005-11-17T14:05Z

Detta då: (^\\s\|\\s$)

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

## #5 — J.N., 2005-11-17T14:45Z

HEJ!

Nej, den fungerar inte alls, noll för två ord i rad?!

Jag trodde inte detta var så svårt!

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

## #6 — Jesper T, 2005-11-17T15:15Z

...noll för två ord i rad?!
Vad menar du?

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

## #7 — J.N., 2005-11-17T15:22Z

HEJ!

Att det blir noll i resultat.

```
Set objRegExp = New RegExp
objRegExp.Global = True
objRegExp.Pattern = "(^\s|\s$)"
Set Matches = objRegExp.Execute(orden)

response.write Matches.count
ger 0 ord

för:
lorem ipsum
```

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

## #8 — Jesper T, 2005-11-17T15:28Z

(\\b\\w)

Red/ om du tänker dig Ö eller Å som ett eget ord så får du göra något såndant hära: (\\b\\w\|Ö\|Å)

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

## #9 — J.N., 2005-11-17T16:15Z

HEJ!

Jag testade utan åö, och det fungerar perfekt!

Sedan lade jag till å\|ö, och IgnoreCase=True.
Och den räknade rätt på åÖÅö också! *lorem ipsum å Ö*
Sedan krånglade jag till det med *lårem ipsöm* vilket gav **sex** ord!

Hur i all sin dar blir det så?
Lite klurande gav att den räknar l+å+rem ips+ö+m=6 st...

Det går säkert att komma undan genom att kontrollera att det inte finns bokstäver före/efter åö.

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

## #10 — Peter S, 2005-11-17T17:53Z

```
  dim re
  set re = new regexp

  re.pattern = "\b[^\s]+\b"
  re.global  = true

  dim words
  set words = re.execute(orden)

  ' words.count = antal ord

  set re = nothing
```

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

## #11 — J.N., 2005-11-29T14:53Z

HEJ!

Jag körde din senaste kod parallellt med min originalkod, och det fungerar utmärkt! Den fixar radbrytning, och räknar inte med smiliesar, eller binde-/talstreck heller, för den delen.

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

---

Tråden på webben: https://www.webforum.nu/amne/asp/137744-räkna-ord
