Element combinations
If you don't mind code that generates messages, then the following will work:
Quiet[List@@StringJoin[lis],StringJoin::string]
(* {abcde,2,rs,3,tuvw,7} *)
List @@ StringExpression @@ lis
{"abcde", 2, "rs", 3, "tuvw", 7}
In version 10 and later versions you can also use SequenceCases
with an appropriate pattern:
SequenceCases[lis, {a : Except[_String] ..., b__String, c : Except[_String] ...} :>
Sequence[a, StringJoin@b, c]]
{"abcde", 2, "rs", 3, "tuvw", 7}
lis = {"ab", "cde", 2, "rs", 3, "tu", "v", "w", 7};
lis //. {s___, str1_String, str2_String, f___} :>
{s, StringJoin[str1, str2], f}
(* {"abcde", 2, "rs", 3, "tuvw", 7} *)
or
lis //. {s___, str1_String, str2_String, f___} :>
{s, str1 <> str2, f}