type string was removed in 5.0 (https://www.elastic.co/blog/strings-are-dead-long-live-strings). However a template in 5.x mentioning type "string" will be working except for the fact it will add some messages in the deprecation logs (if you had used the upgrade assistant in 5.6 it will guide you through the step including deprecation log). If you had old template from v2; the index created using that template will use the new types "text" for analyzed field or keyword for not_analyzed. This won't work from 6.0, creating an index from a template which still mention string will just fail.
So you should probably check if GET _template and look for "string"
...then copy any individual template which has string, and update it with valid definition.
When you try to save a template v6 (or in v5) with invalid definition, you will get an error which you can use to correct any issue till the template definition you send is valid.
Same goes for a template using a deprecated feature, it will save the template in that case but a warning will appear in the response (and on the deprecation logs) which you can correct. I am mentioning this because type string may not be the only deprecated feature you are still using in those templates, if you get deprecated warning in 6.x, correcting those now will avoid you the issue when upgrading to 7.x
Thanks