ta ut ord ur en längre sträng

ASP

5 svar · 254 visningar · startad av eriks

Medlem sedan apr. 20011 418 inlägg
Trådstart#1

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

Medlem sedan juli 20011 129 inlägg
#2

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)

Medlem sedan juni 2001206 inlägg
#3

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>"

%>
Medlem sedan apr. 20011 418 inlägg
#4

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

Medlem sedan juli 20011 129 inlägg
#5

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...

Medlem sedan feb. 20012 412 inlägg
#6

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

474 ms totalt · 4 externa anrop · v20260731065814-full.d34c6d5a
131 ms — deklarationer (db)
173 ms — hämta statistik (db)
167 ms — hämta tråd, inlägg och bilagor (db)
129 ms — ändringar (db)