German Math Berechnungen

mcmanu

Active Member
Licensed User
Longtime User
Hi,
Habe ein Problem wie bekommt man den wert zwischen zwei strings?
spricht der string ist "Was sind 10 euro in dollar" ich will nur den wert 10 haben
also zwischen dem wort sind und euro.



kann mir jemand helfen?
 
Last edited:
D

Deleted member 103

Guest
Hallo mcmanu,

so sollte es gehen.
B4X:
Dim wert As Float
Dim string1 As String
Dim strTemp As String
string1="Was sind 10 euro in dollar"
strTemp=string1.SubString(string1.IndexOf("sind") + 5)
wert=strTemp.SubString2(0,string1.IndexOf(" "))
msgbox("wert=" & wert)

Ciao,
Filippo
 

Roeschti

Member
Licensed User
Longtime User
Hier eine Version, welche ich kürzlich machte um sie universell einsetzen zu können, um Teil Strings zu erhalten aus 2 Abschnitten in der Art von "bring mir den Teilstring, welcher sich zwischen SuchString1 und SuchString2 befindet:

string1="Was sind 10 euro in dollar"


strResultat = fctMiddle(string1, "sind ", "euro")



Sub fctMiddle(sInput As String, sStartKey As String, sEndKey As String) As String
Dim sOutput As String
Dim sTemp As String
Dim iStartPos As Int
Dim iEndPos As Int


iStartPos = sInput.indexOf (sStartKey)

If iStartPos >= 0 Then
iStartPos = iStartPos + sStartKey.length
End If

'Der Endkey wird nur evaluiert, wenn der Startkey gefunden wird.
If iStartPos >= 0 Then
sTemp = sInput.substring2(iStartPos, sInput.length)
iEndPos = sTemp.indexOf ( sEndKey ) + iStartPos
'Auslesen des Wertes
If iEndPos < iStartPos Then

'Der Endkey ("&") kommt nach Startkey nicht mehr im String vor. Bsp: &DocID=33006.
'Wir liefern das Ende des Strings ab Startkey
sOutput = sInput.substring2(iStartPos, sInput.length)

Else If iEndPos = iStartPos Then
'Startkey und Endkey folgen unmittelbar nacheinander. Bsp: &DocID=&
'Wir liefern ein leeren String
sOutput = ""
Else
'Der Startkey und der Endkey kommen wie erwartet im String vor. Bsp: &DocID=33006&MemoType=1
sOutput = sInput.substring2 ( iStartPos, iEndPos )
End If
End If

Return sOutput
End Sub
 

mcmanu

Active Member
Licensed User
Longtime User
Danke

Wow super Danke euch beiden, werd mich später mal hinhocken und es versuchen

Danke Danke Danke
 

JanMucha

Member
Licensed User
Longtime User
String mit Zwischeneinlage

Hallo mcmanu,
so geht es evtl. einfacher:

Dim wert As Float
Dim string1 As String
Dim string2 As String

wert = 10 'dieser Wert kommt soll aus der vorangegangenen Berechnung kommen
string1 = "Was sind "
string2 = " euro in dollar"

msgbox(string1 & wert & string2)
 

mcmanu

Active Member
Licensed User
Longtime User
thx

@JanMucha

Danke dir werd mir des mal anschauen und probieren

Thx
 
Cookies are required to use this site. You must accept them to continue using the site. Learn more…