Hej, Såhär kanske: Samma som ovan, men dock tror jag att denna RegEx sats är säkrare att använda... Den satsen kommer ju inte att fungera eftersom en punkt motsvarar alla tecken utom ny rad. Därför kommer den att ta med allting som är framför ".pdf" och inte bara filnamnet. Tyvärr så funkade ingen Ja, men eftersom man satt ett frågetecken efter plus är den lazy, vilket innebär att den kommer enbart att ta alla tecken som är mellan en wordboundary och .pdf + wordboundary. Din första tog även med sådana som "artikel.pdfen" till exempel och hittar då "artikel.pdf"... Vilken RegEx kör du? Jag har sedan tidigare en funktion som kollar om det är en www-adress, så den tänkte jag utnyttja och där la jag in den, se nedan ..den funktionen gör ju inget ifal du inte har nåt "<A" i texten, det är inte det som är problemet? Ok, testa denna funktion istället för att linka pdf... Hej igen, Ok, här är en version som jag vet fungerar, i alla fall för mig... Tusen tack Thomas nu funkade det också för migHjälp med att hitta pdf-fil
Jag har förstått att jag står inför ett reg ex problem, men jag är för dålig på det för att lösa mitt bekymmer.
Här är problemet.
Jag vill från en text som jag hämtar från en databas hämta upp allt som slutar med .pdf (tex analys.pdf) och göra om den till en länk till till just den pdf-filen som ligger i mappen uploadpdf.
exempel:
Vill hitta analys.pdf (som finns i en text)
och göra om den till analys.pdf
Hur i herrans namn gör man?
Kan någon hjälpa mig?
mvh
TomasSv: Hjälp med att hitta pdf-fil
<code>
\s(\w+\.pdf)
</code>
Sen kör du en replace med "$1".
/MickeSv:Hjälp med att hitta pdf-fil
<code>
\b(.+?\.pdf)\b
</code>Sv: Hjälp med att hitta pdf-fil
/MickeSv: Hjälp med att hitta pdf-fil
<code>
\s(\w+\.pdf)
</code>
Här hände helt enkelt ingenting, den hittade den inte
<code>
\b(.+?\.pdf)\b
</code>
Här blev det att all text framför .pdf fångades upp.
Har ni något bra förslag på ändringar?
mvh
TomasSv:Hjälp med att hitta pdf-fil
Sv:Hjälp med att hitta pdf-fil
.NET eller någon annan version?
Syntaxen skiljer sig något mellan de olika implementationerna...Sv: Hjälp med att hitta pdf-fil
<code>
Function LinkURLs(tempTxt)
If InStr(tempTxt, "<A") < 1 then
Dim regEx
Set regEx = New RegExp
regEx.Global = True
regEx.IgnoreCase = True
temptxt = replace(temptxt, "'", "''")
'Hyperlink pdf's
regEx.Pattern = "(\b(.+?\.pdf)\b)"
tempTxt = regEx.Replace(tempTxt, "$1")
'Hyperlink URL's
regEx.Pattern = "((www\.|(http|https|ftp|news|file)+\:\/\/)[_.a-z0-9-]+\.[a-z0-9\/_:;@=.+?,##%&~-]*[^.|\'|\# |!|\(|?|,| |>|<|;|\)])"
tempTxt = regEx.Replace(tempTxt, "$1")
'Make <a href="www = <a href="http://www
tempTxt = Replace(tempTxt, "href=""www", "href=""http://www")
LinkURLs = tempTxt
else
LinkURLs = tempTxt
end if
End Function
</code>
denna funktion funkar kanon för www-adresser.
/TomasSv:Hjälp med att hitta pdf-fil
Sv:Hjälp med att hitta pdf-fil
<code>
Function LinkPDF(Text)
Dim regEx
Set regEx = New RegExp
regEx.Global = True
regEx.IgnoreCase = True
regEx.Pattern = "(\b)(.+?\.pdf)(\b)"
Text = regEx.Replace(Text, "$1$2$3")
Set regEx = Nothing
LinkPDF = Text
End Function
</code>Sv: Hjälp med att hitta pdf-fil
Nä det vill inte funka för mig. Det roliga (inte) är att resultatet blir olika om jag använder din nya funktion eller stoppar in det nya i min gamla funktion.
Med din nya funktion så händer inget
När jag använder den i min gamla funktion så länkas all text framför och pdf-länken. Så som det gjordes innan.
mvh
TomasSv:Hjälp med att hitta pdf-fil
<code>
Function LinkPDF(Text)
Dim regEx
Set regEx = New RegExp
regEx.Global = True
regEx.IgnoreCase = True
regEx.Pattern = "([^\s]+\.pdf)(\b)"
Text = regEx.Replace(Text, "$1$2")
Set regEx = Nothing
LinkPDF = Text
End Function
</code>Sv: Hjälp med att hitta pdf-fil
Ha en bra kväll
Tomas