Android Question [SOLVED]writing txt

camolas

Member
Licensed User
Hi,

Please i need hellp on modify a existing txt but i only want to change one line.

example:
B4X:
1
2
3
4

or

1,2,3,4
I want to replace the third position to A and leave the others without any change

B4X:
1
2
A
4

or

1,2,A,4
Its is possible?

Thanks
 

stevel05

Expert
Licensed User
If you don't know the value of the 3rd entry, you can use Regex.Split:

B4X:
Sub FieldReplace(FieldNo As Int,Delim As String,Source As String,ReplacementStr As String) As String

    'Stops arrayindex out of bounds error
    If FieldNo < 0 Then Return Source

    Dim T() As String = Regex.Split(Delim,Source)

    'Stops arrayindex out of bounds error
    If FieldNo >= T.Length Then Return Source

    T(FieldNo) = ReplacementStr

    'Build Return String
    Dim ReturnStr As String
    For i = 0 To T.Length - 1
        ReturnStr =  ReturnStr & T(i)
        If i < T.Length - 1 Then ReturnStr = ReturnStr & Delim
    Next
    Return ReturnStr
End Sub
Use As:

B4X:
    Dim Str As String = "1,2,3,4"
    Log(FieldReplace(2,",",Str,"A")) 'Positions are zero based same as arrays
 
Last edited:

stevel05

Expert
Licensed User
B4X:
Sub GetField(FieldNo As Int,Delim As String,Source As String) As String
    'Stops arrayindex out of bounds error
    If FieldNo < 0 Then Return ""
   
    Dim T() As String = Regex.Split(Delim,Source)
   
    'Stops arrayindex out of bounds error
    If FieldNo >= T.Length Then Return ""
   
    Return T(FieldNo)
End Sub
Usage:

B4X:
Dim Str As String = "1,2,3,4"
    Dim TexttoReplace As String = GetField(2,",",Str)
    Log(FieldReplace(2,",",Str,"A"))
 

camolas

Member
Licensed User
B4X:
Sub bt_1_Click
    Dim xx As String
    xx = 1
    Stre  = Items(0) & "," &  Items(1) &  "," & xx  & "," &  Items(3)
    File.WriteString(File.DirRootExternal, "TT.txt", _
        Stre)
End Sub
Thanks @stevel05

@Manfred i dont now why every time you reply to my posts you have to implicate...:(
B4X:
http://www.b4x.com/android/forum/threads/solved-tts-service-for-2-activitys.49877/#post-311439
 

Cableguy

Expert
Licensed User
B4X:
Sub bt_1_Click
    Dim xx As String
    xx = 1
    Stre  = Items(0) & "," &  Items(1) &  "," & xx  & "," &  Items(3)
    File.WriteString(File.DirRootExternal, "TT.txt", _
        Stre)
End Sub
Thanks @stevel05

@Manfred i dont now why every time you reply to my posts you have to implicate...:(
B4X:
http://www.b4x.com/android/forum/threads/solved-tts-service-for-2-activitys.49877/#post-311439
He is not implicating... but there are noob questions... and then there are the "I don't care about the search engine on the top right of the this site" questions...
yours are more on the later category...
 
Top