String to unsigned long

Is there a difference between "string" and "String"?

A String (uppercase S) is an object created by the String library
A string (lowercase s) is an array of chars terminated by a zero

It is generally not recommended to use Strings in the small memory footprint of many microcontrollers although there are some who disagree

Take a look at Serial input basics - updated for some examples of how to use and parse strings