07. januar 2004 - 20:27Der er
10 kommentarer og 1 løsning
Finde længden af et ord i en sætning.
Hvordan kan man finde ud af hvor langt et enkelt ord er i en sætning. Jeg skal bruge det til at afgøre om der foretages et linieskift eller ej da pladsen hvor teksten skal stå er begrænset til 30 tegn i bredden. På forhånd mange tak for en evt. løsning.
Du må lige sige lidt mere om din situation. Står du med en lang tekststreng, du vil have slået i stykker i flere linier? Er der altid et blanktegn efter komma eller punktum? Kunne det ikke tænkes at der var ord, der var længere end 30 tegn? (det kunne ske, hvis det var brugere, der havde fået mulighed for at indlæse noget. Nogle vil fjolle desværre)
Der skal indsættes en tekst i et tabelfelt der ikke må være mere end 30 tegn bredt. Teksten kunne f.eks. skrives som xxxxxx/xxxxxx/xxxxx/xxxx/xxx uden mellemrum mellem skråstegerne, så jeg bliver nødt til at foretage en orddeling og et linieskift. Håber det var svar på spørgsmålet.
<% Option Explicit ' Alle variablerne skal defineres! Så undgås stavefejl.. Bør *altid* bruges! Husk: skal være den første linie i filen!
' Definition/"dimmition" af variabler: dim MAX_LEN, ordArr, str, i, strNy dim a, tmp dim NYT_TEGN
' der insættes et mellemrum efter Max antal bogstaver.. det retter du bare til det du vil ' f.eks. linieskift: NYT_TEGN = vbCrLf (uden "" tegn): NYT_TEGN = " "
' en test streng: str = "dette er noget tekst med et laaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaangt ord"
response.write "<br><br>Original: " & str ' kan slettes efter test..
MAX_LEN = 20 ' max længde per ord.. det retter du bare..
ordArr = Split(str, " ") for i = lbound(ordArr) to ubound(ordArr) tmp = ordArr(i) if len(ordArr(i)) >= MAX_LEN then
for a = 0 to len(ordArr(i)) / MAX_LEN if len(tmp) >= MAX_LEN then strNy = strNy & NYT_TEGN & left(tmp, MAX_LEN) & vbCrLf tmp = mid(tmp, MAX_LEN + 1) end if next
end if strNy = strNy & " " & tmp next
response.write "<br><br>Ny: " & strNy ' kan slettes efter test.. %>
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.