I assume you are passing in the string variable to submicroflow as parameter and than trying to change it? If the string variable was created in parent microflow and passed in as parameter to submicroflow, than it is not allowed to change this variable value in submicroflow. You can create a new string variable in submicroflow, copy the passed in parameter string value to this new string variable and perform you required business logic. Than pass out this string variable value from sub microflow as output and use this in your parent microflow (update the variable in your parent microflow with the output from submicroflow).
Hope this helps!