Text between: Difference between revisions
Content added Content deleted
(Ada version) |
|||
Line 3,234: | Line 3,234: | ||
Debug.Assert TextBetween(Text, StartDelim, EndDelim) = Expected |
Debug.Assert TextBetween(Text, StartDelim, EndDelim) = Expected |
||
End Sub</lang> |
End Sub</lang> |
||
=={{header|Visual Basic .NET}}== |
|||
{{trans|C#}} |
|||
<lang vbnet>Module Module1 |
|||
Function TextBetween(source As String, pre As String, suf As String) As String |
|||
Dim startIndex As Integer |
|||
If pre = "start" Then |
|||
startIndex = 0 |
|||
Else |
|||
startIndex = source.IndexOf(pre) |
|||
If startIndex < 0 Then |
|||
Return "" |
|||
End If |
|||
startIndex += pre.Length |
|||
End If |
|||
Dim endIndex = source.IndexOf(suf, startIndex) |
|||
If endIndex < 0 OrElse suf = "end" Then |
|||
Return source.Substring(startIndex) |
|||
End If |
|||
Return source.Substring(startIndex, endIndex - startIndex) |
|||
End Function |
|||
Sub Print(s As String, b As String, e As String) |
|||
Console.WriteLine("text: '{0}'", s) |
|||
Console.WriteLine("start: '{0}'", b) |
|||
Console.WriteLine("end: '{0}'", e) |
|||
Console.WriteLine("result: '{0}'", TextBetween(s, b, e)) |
|||
Console.WriteLine() |
|||
End Sub |
|||
Sub Main() |
|||
Console.OutputEncoding = System.Text.Encoding.UTF8 |
|||
Print("Hello Rosetta Code world", "Hello ", " world") |
|||
Print("Hello Rosetta Code world", "start", " world") |
|||
Print("Hello Rosetta Code world", "Hello ", "end") |
|||
Print("</div><div style=""chinese"">你好嗎</div>", "<div style=""chinese"">", "</div>") |
|||
Print("<text>Hello <span>Rosetta Code</span> world</text><table style=""myTable"">", "<text>", "<table>") |
|||
Print("<table style=""myTable""><tr><td>hello world</td></tr></table>", "<table>", "</table>") |
|||
Print("The quick brown fox jumps over the lazy other fox", "quick ", " fox") |
|||
Print("One fish two fish red fish blue fish", "fish ", " red") |
|||
Print("FooBarBazFooBuxQuux", "Foo", "Foo") |
|||
End Sub |
|||
End Module</lang> |
|||
{{out}} |
|||
<pre>text: 'Hello Rosetta Code world' |
|||
start: 'Hello ' |
|||
end: ' world' |
|||
result: 'Rosetta Code' |
|||
text: 'Hello Rosetta Code world' |
|||
start: 'start' |
|||
end: ' world' |
|||
result: 'Hello Rosetta Code' |
|||
text: 'Hello Rosetta Code world' |
|||
start: 'Hello ' |
|||
end: 'end' |
|||
result: 'Rosetta Code world' |
|||
text: '</div><div style="chinese">你好嗎</div>' |
|||
start: '<div style="chinese">' |
|||
end: '</div>' |
|||
result: '你好嗎' |
|||
text: '<text>Hello <span>Rosetta Code</span> world</text><table style="myTable">' |
|||
start: '<text>' |
|||
end: '<table>' |
|||
result: 'Hello <span>Rosetta Code</span> world</text><table style="myTable">' |
|||
text: '<table style="myTable"><tr><td>hello world</td></tr></table>' |
|||
start: '<table>' |
|||
end: '</table>' |
|||
result: '' |
|||
text: 'The quick brown fox jumps over the lazy other fox' |
|||
start: 'quick ' |
|||
end: ' fox' |
|||
result: 'brown' |
|||
text: 'One fish two fish red fish blue fish' |
|||
start: 'fish ' |
|||
end: ' red' |
|||
result: 'two fish' |
|||
text: 'FooBarBazFooBuxQuux' |
|||
start: 'Foo' |
|||
end: 'Foo' |
|||
result: 'BarBaz'</pre> |
|||
=={{header|Wren}}== |
=={{header|Wren}}== |