Jag är inte riktigt med men för att få ut ordet före det första mellanslaget...
Gör så här:
SpacePos = InStr(TextString, " ")
Response.Write Mid(TextString, 1, SpacePos)
------------------
Den röda webkodarmasken är lös... Ahhrghhh
5 svar · 240 visningar · startad av eriks
Hej! Jag vill ta ut ett ord ur en längre sträng, och jag har läst artikeln här på wf om stränghantering. Jag vill dock utveckla det lite. Jag skriver:
<%
text = "En grodas mobil!"
text = Right(text,13)
Response.write text
%>
Då får jag ju ut "grodas mobil!", men hur ska jag göra om jag bara vill få ut det första av orden. Jag vill säga ungefär "skriv ut texten tills du kommer till ett mellanslag". Då skulle jag ju bara få ut grodas i detta exemplet. Någon som kan och har fattat?
Tack! /Erik
Jag är inte riktigt med men för att få ut ordet före det första mellanslaget...
Gör så här:
SpacePos = InStr(TextString, " ")
Response.Write Mid(TextString, 1, SpacePos)
------------------
Den röda webkodarmasken är lös... Ahhrghhh
Så här kan du också göra...
<%
text = "En grodas mobil!"
arrText = split(text," ")
response.write "Första ordet: " & arrText(0) & "<br>"
response.write "Andra ordet: " & arrText(1) & "<br>"
response.write "Tredje ordet: " & arrText(2) & "<br>"
%>
------------------
MVH
Harback
tack så mycket...
vad jag egentligen menade var att jag ville skriva ut texten som jag visade i mitt kodexemple, men att jag hade en funktion som sa typ "Response.Write text 'men när du kommer till ett mellanslag så sluta". Jag skulle även vilja kunna modifiera så att den säger 'men när du kommer till två citattecken eftervarandra så sluta. Förstår ni?
Tack! /Erik
Jag kan demonstrera en lite funktion som kan hjälpa dig en bit på vägen iaf.
--------------------------------------
Function EndAtWord(MyString, EndAtWord)
arrText = split(MyString, " ")
For cLoop = 0 To UBound(arrText)
TheWhole = TheWhole & arrText(cLoop)
If EndAtWord = cLoop Then
Exit For
End If
Next
EndAtWord = TheWhole
End Function
Och så kallar du bara genom.
<%
Text = "Grodor har inte mobiler"
%>
De 3 första orden i meningen är: <%= EndAtWord(Text, 3)%>
T.ex.
Hoppas det hjälpte lite mera...
------------------
Den röda webkodarmasken är lös... Ahhrghhh
Hej!
Regular expressions är ett annat bra alternativ om man har VBScript 5 Engine eller nyare.
Läs vides utmärkta guide i ämnet:
http://www.webeye.nu/default2.asp?que=asp/default.asp&exec=asp/artiklar/asp_11.asp
vänligen Jörgen HP
------------------
*** Var går gränsen mellan långa kortbyxor och korta långbyxor? ***