---
title: "regexp'a text som slutar med radbrytning"
type: "forum-thread"
url: "https://www.webforum.nu/amne/dotnet/126804-regexp-a-text-som-slutar-med-radbrytning"
topic: ".NET"
topic_url: "https://www.webforum.nu/amne/dotnet"
author: "laidback"
published: "2005-04-20T20:47:51.000Z"
updated: "2005-04-23T09:35:21.000Z"
replies: 5
views: 293
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/dotnet/126804-regexp-a-text-som-slutar-med-radbrytning"
---

# regexp'a text som slutar med radbrytning

## #1 — laidback, 2005-04-20T20:47Z

Ska göra en kontroll av ett textstycke för att göra om allt som börjar med <http://> till länk automatiskt. 

Det här funkar fint: 

```
strText = Regex.Replace(strText, "(\bhttp://\S+|\bnews://\S+|\bftp://\S+)", "<a href=""$1"" target=""_blank"">$1</a>", RegexOptions.IgnoreCase)
```

MEN, bara om länken har ett mellanslag eller så efter sig. Skriver jag t ex: 

Kolla in min länk!
<http://www.aftonbladet.se>

Kul va?!

Så blir länken \<a href="http://www.aftonbladet.se" target="\_blank"\><http://www.aftonbladet.se>\</a\>\<br\>\<br\>K

Inte riktigt rätt. Hur avslutar man länken efter sista bokstaven, oavsett om det är ett blanksteg där eller inte?

Och eg. borde det väl bli en \<asp:hyperlink... av det, men det kanske inte är så svårt att fixa iofs... :OO

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

## #2 — Peter S, 2005-04-21T14:33Z

Jag förstår inte. Om du skriver in

> Kolla in min länk!
> <http://www.aftonbladet.se>
> 
> Kul va?!

Hur vill du då att resultatet skall bli?

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

## #3 — laidback, 2005-04-21T15:27Z

Ooops, jag var visst lite trött i går när jag skrev mitt inlägg. Sorry  :r 

Så här ska det stå: 

Så blir länken \<a href="http://www.aftonbladet.se" target="\_blank"\><http://www.aftonbladet.se>\<br\>\<br\>K\</a\>

Alltså, radbrytningarna och första tecknet efter blir en del av länken, vilket jag misstänkte berodde på att det inte finns något blanksteg efter länken, utan en radbrytning.

/ska kanske inte skriva inlägg när jag är trött

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

## #4 — Peter S, 2005-04-21T16:20Z

\\S matchar tecken andra än white space. I white space inkluderas såväl CR som LF, så om det textstycke du matchar mot ser ut enligt

```
Kolla in min länk!\nhttp://www.aftonbladet.se\n\nKul va?!
```

borde din kod fungera.

Du kan ju testa:

```
(\b(?:http|ftp|news):\/\/\S+)
```

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

## #5 — Guffa, 2005-04-21T19:33Z

Anledningen är att tecknen \<, b, r och \> alla ingår i \\S. Istället för \\S så får du använda en mängd som inte innehåller \< och \>, till exempel \[\\w\\.\\-\\?+\~%/#&!\] eller \[^ \<\>\\r\\n\].

En \<asp:hyperlink\> har du inte så stor nytta av i en sträng. I så fall skulle du behöva kompilera strängen...

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

## #6 — laidback, 2005-04-23T09:35Z

Åkej, tack båda två. Ska testa och ffa LÄSA PÅ om regular expressions.

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

---

Tråden på webben: https://www.webforum.nu/amne/dotnet/126804-regexp-a-text-som-slutar-med-radbrytning
