You could also do a straight query with string methods like
select substring(name, 1, charindex('.', name) - 1) as name1,
substring(name, charindex('.', name) + 1, charindex(':', name) - charindex('.', name) -1) as name2,
substring(name, charindex(':', name) + 1, charindex(';', name) - charindex(':', name) -1) as name3,
substring(name, charindex(';', name) + 1, charindex(';', name,charindex(';', name) + 1) - charindex(';', name)-1) as name4,
substring(name, charindex(';', name,charindex(';', name) + 1) + 1, charindex(';', name,charindex(';', name,charindex(';', name) + 1) + 1) - charindex(';', name,charindex(';', name) + 1) -1) as name5,
substring(name, charindex(';', name,charindex(';', name,charindex(';', name) + 1) + 1) + 1, LEN(Name) - charindex(';', name,charindex(';', name,charindex(';', name) + 1) + 1) as name6
from YourTable
but then it still gets very complex.
The best option is to look for a different format to store your data if that is possible.