RosettaCodeData/Task/Determine-if-a-string-is-squeezable/FreeBASIC/determine-if-a-string-is-squeezable.basic
2023-07-01 13:44:08 -04:00

58 lines
2.2 KiB
Text

function squeeze(byval s as string,target as string) as string
dim as string g
dim as long n
for n =0 to len(s)-2
if s[n]=asc(target) then
if s[n]<>s[n+1] then g+=chr(s[n])
else
g+=chr(s[n])
end if
next n
if len(s) then g+=chr(s[n])
return g
end function
dim as string z,o
print "character "" """
o=""
print "original ";o;tab(90);"(";len(o);")"
z=Squeeze("", " ")
print "squeeze "; z;tab(90);"(";len(z);")"
print
print "character ""-"""
o= """If I were two-faced, would I be wearing this one?"" --- Abraham Lincoln "
print "original ";o;tab(90);"(";len(o);")"
z=Squeeze(o,"-")
print "squeeze "; z;tab(90);"(";len(z);")"
print
print "character ""7"""
o="..1111111111111111111111111111111111111111111111111111111111111117777888"
print "original ";o;tab(90);"(";len(o);")"
z=Squeeze(o,"7")
print "squeeze "; z;tab(90);"(";len(z);")"
print
print "character ""."""
o="I never give 'em hell, I just tell the truth, and they think it's hell. "
print "original ";o;tab(90);"(";len(o);")"
z=Squeeze(o,".")
print "squeeze ";z ;tab(90);"(";len(z);")"
print
dim as string s = " --- Harry S Truman "
print "character "" """
o=" --- Harry S Truman "
print "original ";o;tab(90);"(";len(o);")"
z=Squeeze(s, " ")
print "squeeze ";z ;tab(90);"(";len(z);")"
print
print "character ""-"""
o=" --- Harry S Truman "
print "original ";o;tab(90);"(";len(o);")"
z=Squeeze(s, "-")
print "squeeze "; z;tab(90);"(";len(z);")"
print
print "character ""r"""
o=" --- Harry S Truman "
print "original ";o;tab(90);"(";len(o);")"
z=Squeeze(s, "r")
print "squeeze "; z;tab(90);"(";len(z);")"
sleep