• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 344
  • Last Modified:

string - fixed lenght

I want to write to a file that each line contain up to 44 charactors and add a number to each line? The max of string is 2058.

Mystring = This is a test. This is a test. This is a test. This is a test. This is a test. This is a test. This is a test. This is a test. This is a test. This is a test. This is a test. This is a test. This is a test. This is a test. This is a test. This is a test. This is a test. This is a test. This is a test. This is a test. This is a test. This is a test.

This is a test This is a test This is a test  - line 1
This is a test This is a test This is a test  - line 2
This is a test This is a test This is a test  - line 3
etc

dim mystring as string = mystring above
dim arr as new list(of string)
dim sr as new streamwriter(myfile)
For z as interger = 0 to mystring.lengh - 1 step 44
    while mystring.lenght < 2048
             
    arr.add ??? line # 1
    sr.write(mystring(up to 44) and line number
 end while       
next
0
VBdotnet2005
Asked:
VBdotnet2005
  • 2
1 Solution
 
Shahan AyyubSenior Software Engineer - iOSCommented:
Please Check this:
Dim Mystring As String = "This is a test This is a test This is a test This is a test This is a test This is a test This is a test This is a test This is a test This is a test This is a test This is a test This is a test This is a test This is a test This is a test This is a test This is a test This is a test This is a test This is a test This is a test"
        Dim arr As New List(Of String)
        Dim sw As New StreamWriter("C:\SampleOutput.txt")
        Dim num As Integer = 0
        For i As Integer = 0 To Mystring.Length - 44 Step 44
            num = num + 1
            arr.Add(Mystring.Substring(i, 44) & " - " & " Line " & num)
        Next
        Dim joinedString As String = String.Join(vbCrLf, arr.ToArray)
        sw.Write(joinedString)
        sw.Close()

Open in new window

0
 
Shahan AyyubSenior Software Engineer - iOSCommented:
Hi!

I didn't see that you requirement need another condition that MyString should be "The max of string is 2058".

So check this as well.
Dim Mystring As String = "This is a test This is a test This is a test This is a test This is a test This is a test This is a test This is a test This is a test This is a test This is a test This is a test This is a test This is a test This is a test This is a test This is a test This is a test This is a test This is a test This is a test This is a test"
Dim arr As New List(Of String)
Dim sw As New StreamWriter("C:\SampleOutput.txt")
Dim num As Integer = 0
If Mystring.Length <= 2058 Then
   For i As Integer = 0 To Mystring.Length - 44 Step 44
      num = num + 1
      arr.Add(Mystring.Substring(i, 44) & " - " & " Line " & num)
   Next
Dim joinedString As String = String.Join(vbCrLf, arr.ToArray)
sw.Write(joinedString)
sw.Close()
End If

Open in new window

0

Featured Post

Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now