webForumDet fria alternativet

Replacea lite i en sträng

5 svar · 350 visningar · startad av xcalibrate

xcalibrateMedlem sedan aug. 2002136 inlägg
#1

Hej!
Jag har en sträng => strCurrentFilename = "%a-%b-%c"
Nu vill jag ersätta %a med variabeln strA, %b med variabeln strB och %c med strC. Hur gör jag det på enklast sätt?

PMedlem sedan jan. 20012 204 inlägg
#2
// c#
string s = %a-%b-%c"
s= s.Replace("&a","strA");
//etc
xcalibrateMedlem sedan aug. 2002136 inlägg
#3

Problemet är att jag vill i samma veva replacea de andra också. Och hur gör jag det? För ska jag replacea efteråt så har ju string s värdet strA bara och inte kvar -%b-%c

DinoMedlem sedan sep. 20011 914 inlägg
#4

Antar att %a, %b och %c endast är placeholders och då kan du göra så här istället.

string strA, strB, strC;
strA = strB = strC = "Hej";
string strCurrentFilename = "{0}-{1}-{2}";
string s = string.Format(strCurrentFilename, strA, strB, strC);
Response.Write(s);
xcalibrateMedlem sedan aug. 2002136 inlägg
#5

Visst det fungerar, men vet inte om detk ommer fungera för mig, jag ska förklara tydligare. Alltså egentligen behöver det inte vara %a-%b-%c utan det kan vara %aHejsan%b -ÖAO %chehe. Det är därför det är lite svårt. Jag försökte mig på en liten funktion som du kanske kan lösa:

    Private Function ConvertToNewFilename(ByVal MyFileInfo As FileInfo, ByVal strCurrentFilename As String) As String
        Dim MyMP3Tag As New MP3ID3v1(MyFileInfo.FullName)

        Dim strNewString As String

        Dim strExtensions() As String = {"%o", "%a", "%s"}
        Dim strTranslation() As String = {"O", "A", "S"}

        Dim iCount As Integer
        For iCount = 0 To strExtensions.Length - 1
            If InStr(strCurrentFilename, strExtensions(iCount)) <> 0 Then
                'strNewString = Replace(strCurrentFilename, strExtensions(iCount), strTranslation(iCount))
                strNewString = strCurrentFilename.Replace(strExtensions(iCount), strTranslation(iCount))
            End If
        Next

        Return strNewString
    End Function

Anropar den såhär:
ConvertToNewFilename(MyFileInfo, "%aHejsan%b -ÖAO %chehe")

xcalibrateMedlem sedan aug. 2002136 inlägg
#6

Eller om ni vill kan ni skita i funktionen men jag vet i vilken fall som helst inte om det är %a-%b-%c eller om det är %a(%b) hEHHEHEHEHEHE%c osv...

165 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
161 ms — hämta tråd, inlägg och bilagor (db)