The 27-year-old woman was approached by a man in the Sherbourne Street and Shuter Street area on March 31, police said.
The man is alleged to have produced a firearm at that time and used it to force the woman to go to a residence in the Dundas Street East and Jones Street area.
In a news release, police said the woman was held captive for days and "sexually assaulted ... with a weapon, multiple times."
The woman subsequently escaped and contacted police.
Rejean Hermel Perron, 43, has been charged with sexual assault with a weapon, kidnapping, forcible confinement and assault.
Perron is scheduled to appear in court today.
Anyone with information about this or similar incidents is asked to contact investigators at 416-808-7474. Tips can also be passed on anonymously through Crime Stoppers at 416-222-8477.