Text between: Difference between revisions

Content added Content deleted
(Scala added.)
Line 2,282: Line 2,282:
</lang>
</lang>


=={{header|Sidef}}==
<lang Scala>object TextBetween extends App {
val (thisText, startDelimiter, endDelimiter) = (args(0), args(1),args(2))

/*
* textBetween: Get the text between two delimiters
*/
private def textBetween(thisText: String, startString: String, endString: String): String = {
var startIndex = 0
var endIndex = 0
if (startString != "start")
{
startIndex = thisText.indexOf(startString)
if (startIndex < 0) return ""
else startIndex = startIndex + startString.length
}
if (endString == "end") endIndex = thisText.length
else {
endIndex = thisText.indexOf(endString)
if (endIndex <= 0) return ""
}

thisText.substring(startIndex, endIndex)
} // end method textBetween

println(textBetween(thisText, startDelimiter, endDelimiter))

}</lang>
=={{header|Sidef}}==
=={{header|Sidef}}==
Uses /^/ and /$/ as start and end delimiters. Additionally, the start and end delimiters can be regular expressions.
Uses /^/ and /$/ as start and end delimiters. Additionally, the start and end delimiters can be regular expressions.
Line 2,355: Line 2,383:
say "text_between(#{t{:text}.dump}, #{t{:start}.dump}, #{t{:end}.dump}) = #{r.dump}"
say "text_between(#{t{:text}.dump}, #{t{:start}.dump}, #{t{:end}.dump}) = #{r.dump}"
}</lang>
}</lang>
{{out}}
{{out}}<pre>
<pre>
text_between("Hello Rosetta Code world", "Hello ", " world") = "Rosetta Code"
text_between("Hello Rosetta Code world", "Hello ", " world") = "Rosetta Code"
text_between("Hello Rosetta Code world", /^/, " world") = "Hello Rosetta Code"
text_between("Hello Rosetta Code world", /^/, " world") = "Hello Rosetta Code"
Line 2,365: Line 2,392:
text_between("The quick brown fox jumps over the lazy other fox", "quick ", " fox") = "brown"
text_between("The quick brown fox jumps over the lazy other fox", "quick ", " fox") = "brown"
text_between("One fish two fish red fish blue fish", "fish ", " red") = "two fish"
text_between("One fish two fish red fish blue fish", "fish ", " red") = "two fish"
text_between("FooBarBazFooBuxQuux", "Foo", "Foo") = "BarBaz"
text_between("FooBarBazFooBuxQuux", "Foo", "Foo") = "BarBaz"</pre>
</pre>


=={{header|UNIX Shell}}==
=={{header|UNIX Shell}}==