Avatar billede unknown_someone Juniormester
06. maj 2003 - 20:43 Der er 10 kommentarer og
1 løsning

split text halvvejs ved mellemrum

Hvordan splitter jeg en text-streng på et par 100 tegn ved et mellemrum over i to ca lige store dele - altså fx;

VAR = "Jeg har en cykel"

skal splittes op til

VAR1 = "Jeg har"
VAR2 = "en cykel"

Der må ikke splittes midt i et ord eller ved andre tegn end mellemrum!

?
Avatar billede theselfimages Nybegynder
06. maj 2003 - 20:48 #1
<%
Function ReSizeText(inText)
'******************************************
'Created by:  FW
'Created date: 28.09.2002
'Purpose: Make sure that each line in text
'        is no more than 25 characters
'Modified by:    'Modified date:
'Description:
'******************************************
  dim tempmessage
  dim b, i
  tempmessage = ""
  b = 0
  for i = 1 to Len(inText)
  b = b + 1
  tempmessage = tempmessage & Mid(inText,i,1)
  if b > 21 and Mid(inText,i,1) = " " then
      tempmessage = tempmessage & "<br>"
      b = 0
  end if
  next
  ReSizeText = tempmessage

End Function
%>
Avatar billede eagleeye Praktikant
06. maj 2003 - 20:55 #2
Hvis man finder længden på strengen og så finde et mellemrum der omkkring:

VAR = "Jeg har en cykel"
strLen = Len(var)
delVed = Int(strLen/2)
if delVed > 0 then
  index = inStrRev(var, " ", delVed)
  if index > 0 then
    var1 = left(var,index)
    var2 = mid(var,index+1)
  end if
end if
Avatar billede unknown_someone Juniormester
06. maj 2003 - 20:56 #3
hmm - virker ikke umiddelbart;

<%
Function ReSizeText(inText)
  dim tempmessage
  dim b, i
  tempmessage = ""
  b = 0
  for i = 1 to Len(inText)
  b = b + 1
  tempmessage = tempmessage & Mid(inText,i,1)
  if b > 21 and Mid(inText,i,1) = " " then
      tempmessage = tempmessage & "<br>"
      b = 0
  end if
  next
  ReSizeText = tempmessage

End Function

response.write ReSizeText("jeg har en cykel")
%>
Avatar billede unknown_someone Juniormester
06. maj 2003 - 21:02 #4
hov - de 21 skulle lige ændres så splittes der rigtig nok...

men jeg er ikke interesseret i at teksten kan risikere at blive splittet i mere end to!
Avatar billede roenving Novice
06. maj 2003 - 21:04 #5
eagleeye deler i to -- ved mellemrum lige før !-)
Avatar billede unknown_someone Juniormester
06. maj 2003 - 21:05 #6
ah - dit ser straks bedre ud eagleeye :)

hvis jeg så skal være ekstra speciel, kan man så dele VAR så VAR1 ender med at have måske 100 tegn mindre end VAR2 såfremt teksten er længere end fx 1000 tegn?
Avatar billede eagleeye Praktikant
06. maj 2003 - 21:08 #7
Ja det kan man da man kan bare trække 100 fra hvis længden er > 1000

VAR = "Jeg har en cykel"
strLen = Len(var)
delVed = Int(strLen/2)
if delVed > 0 then
  if strLen > 1000 then  delVed = delVed - 100  '-100 hvis total længden >1000
  index = inStrRev(var, " ", delVed)
  if index > 0 then
    var1 = left(var,index)
    var2 = mid(var,index+1)
  end if
end if
Avatar billede roenving Novice
06. maj 2003 - 21:09 #8
!-| Giver 200 tegn mere ,-\
Avatar billede eagleeye Praktikant
06. maj 2003 - 21:10 #9
Ja det var vist lige hurtigt nok, det skal jo være -50 for at få 100 ;)
Avatar billede unknown_someone Juniormester
07. maj 2003 - 00:29 #10
det ser umiddelbart rigtig lækkert ud - jeg vil lige lege lidt mere med det før jeg giver point :)
Avatar billede unknown_someone Juniormester
20. maj 2003 - 15:09 #11
PERFEKT! legede lidt mere med at par småting og det kører helt som det skal! takker
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester