Determine sentence type: Difference between revisions
Content added Content deleted
(add FreeBASIC) |
|||
Line 163: | Line 163: | ||
Are you sure?!?! How can you know? -> EQ|Q |
Are you sure?!?! How can you know? -> EQ|Q |
||
</pre> |
</pre> |
||
=={{header|FreeBASIC}}== |
|||
<lang freebasic>function sentype( byref s as string ) as string |
|||
'determines the sentence type of the first sentence in the string |
|||
'returns "E" for an exclamation, "Q" for a question, "S" for serious |
|||
'and "N" for neutral. |
|||
'modifies the string to remove the first sentence |
|||
for i as uinteger = 1 to len(s) |
|||
if mid(s, i, 1) = "!" then |
|||
s=right(s,len(s)-i) |
|||
return "E" |
|||
end if |
|||
if mid(s, i, 1) = "." then |
|||
s=right(s,len(s)-i) |
|||
return "S" |
|||
end if |
|||
if mid(s, i, 1) = "?" then |
|||
s=right(s,len(s)-i) |
|||
return "Q" |
|||
end if |
|||
next i |
|||
'if we get to the end without encountering punctuation, this |
|||
'must be a neutral sentence, which can only happen as the last one |
|||
s="" |
|||
return "N" |
|||
end function |
|||
dim as string spam = "hi there, how are you today? I'd like to present to you the washing machine 9001. You have been nominated to win one of these! Just make sure you don't break it" |
|||
while len(spam)>0 |
|||
print sentype(spam) |
|||
wend</lang> |
|||
{{out}}<pre>Q |
|||
S |
|||
E |
|||
N |
|||
</pre> |
|||
=={{header|Go}}== |
=={{header|Go}}== |