Just nu i M3-nätverket
Jump to content

Sök rätt på och plocka ut del av sträng


matt

Recommended Posts

Hej

Har ett litet problem när det gäller strängar...

Har en sökväg tex c:\spanjoren\greger i\spanien.xls (de kan vara olika varje gång det enda som är säkert är ju dokumentets namn som är från sista "\" och framåt i detta fall spanien.xls) som jag lägger i en variabel. Hur gör jag för att enbart få ut spanien.xls? Skulle vilja att han sökte bakifrån fram tills "han" hittade första "\" och sen plockade in det i en ny variabel.

 

T ex:

sokvag=c:\spanjoren\greger i\spanien.xls

??????

dokumentnamn = spanien.xls

Tacksam för hjälp!

/Mattias

Link to comment
Share on other sites

Du menar så här eller?

 

sokvag=c:\spanjoren\greger i\spanien.xls

dokumentnamn = right(sokvag,11)

response.write (dokumentnamn)

 

Det fins ju ingen anledning till att söka reda på \ teknet. efter som spanien.xls alltid är det samma.

 

Det jag inte förstår är om spanien.xls alltid är samma så kan du väll skriva.

dokumentnamn = "spanien.xls "

[inlägget ändrat 2002-11-28 11:06:46 av GronK]

Link to comment
Share on other sites

Mja.. problemet är ju jag inte vet vilken position första "\" från höger är. Sökvägen kan nästa gång vara c:\pelle\går\överbäcken.xls så positionen ändras ju hela tiden...

 

/M

 

 

Link to comment
Share on other sites

Jag läste så fel.. sorry..

något sånt här blir det.

 

for i=1 to len(sokvag)

if len(sokvag)-i <> 0 then

if Mid(strPath, len(sokvag)-i, 1) = "/" then

dokumentnamn = left(sokvag, len(sokvag)-i)

exit for

end if

end if

next

 

Link to comment
Share on other sites

Det skulle ju vara kanon om det gick att söka baklänges. Du har inStr() som kan söka efter "\", men det den returnerar är ju första förekomsten.

 

Så varför inte vända på strängen? Knacka in följande:

 

Function flipString(str)
 Dim i,s
 s = ""
 For i = Len(str) To 1 Step -1
   s = s & Mid(str,i,1)
 Next
 flipString = s
End Function

 

Kör strängen genom den först, och sök sen som vanligt. Vänd strängen igen och lyft ut slutet.

 

Link to comment
Share on other sites

Bra förslag sun.

 

och till matt om du vill ha min så är den rätta denna.. jag är trött i dag hehe här!

 

 

sokvag = "x:halå/halå3/mip/hej/hallå.htm"

 

for i=1 to len(sokvag)

if len(sokvag)-i <> 0 then

if Mid(sokvag, len(sokvag)-i, 1) = "/" then

dokumentnamn = right(sokvag, i)

exit for

end if

end if

next

 

response.write("doc="&dokumentnamn)

 

[inlägget ändrat 2002-11-28 11:25:06 av GronK]

Link to comment
Share on other sites

Det GÅR att söka "baklänges" med hjälp av InStrRev.

 

Följande borde fungera (otestat):

 

dim sokvag, dokumentnamn
sokvag="c:\spanjoren\greger i\spanien.xls"
dokumentnamn = right(sokvag, len(sokvag)-InStrRev(sokvag, "\"))

 

Ciao,

Anders

 

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.



×
×
  • Create New...