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}