using System.Collections.Generic;
using System.Text.RegularExpressions;
public class ParagraphExtractor
public List<string> ExtractParagraphs(string text)
var paragraphs = new List<string>();
var currentParagraph = new StringBuilder();
State currentState = State.Start;
bool hasPunctuation = false;
if (!char.IsWhiteSpace(c))
currentParagraph.Append(c);
currentState = State.InParagraph;
currentParagraph.Append(c);
currentState = State.PotentialEnd;
else if (char.IsWhiteSpace(c))
currentState = State.InWhitespace;
if (!char.IsWhiteSpace(c))
currentParagraph.Append(c);
currentState = State.InParagraph;
currentParagraph.Append(c);
currentParagraph.Append(c);
currentState = State.EndParagraph;
else if (char.IsWhiteSpace(c))
currentParagraph.Append(c);
currentState = State.EndParagraph;
currentParagraph.Append(c);
currentState = State.InParagraph;
string[] endings = { ".", "?", "!" };
Console.WriteLine("end paragrahph = " + currentParagraph.ToString());
if (endings.Any(x => currentParagraph.ToString().EndsWith(x)))
paragraphs.Add(NormalizeWhitespace(currentParagraph.ToString()));
currentParagraph.Clear();
if (!char.IsWhiteSpace(c))
currentParagraph.Append(c);
currentState = State.InParagraph;
currentState = State.Start;
paragraphs.Add(NormalizeWhitespace(currentParagraph.ToString()));
private bool IsPunctuation(char c)
return c == '.' || c == '!' || c == '?' ;
private string NormalizeWhitespace(string text)
return Regex.Replace(text.Trim(), @"\s+", " ");
private bool IsNewLine(char c)
return c == '\n' || c == '\r' ;
public static void Main(string[] args)
Get VIP Access: Political Hack, Canada’s best-read political newsletter, now
for just $5/month. SUBSCRIBE >> Get VIP Access: Political Hack, Canada’s
best-read political newsletter, now for just $5/month. SUBSCRIBE >>
Share this Story : Mark Johnson: TDSB goes out of its way to cancel Canadian
* SVG Image SVG Image Copy Link
SVG Image My Account SVG ImageSVG Image
* Manage My Subscriptions
* New York Times Crossword
* Entertainment & Hobbies
* Manage Print Subscription
* Saved Articles SVG Image
* Manage Print Subscription
This advertisement has not loaded yet, but your article continues below.
Share this Story : Mark Johnson: TDSB goes out of its way to cancel Canadian
* SVG Image SVG Image Copy Link
Mark Johnson: TDSB goes out of its way to cancel Canadian
The board failed to consult historians and then arguably violated its own bylaws in its
quest to scrub the names of historical figures from school buildings
By Mark Johnson, Special to National Post
You can save this article by registering for free here. Or sign-in if you have an
Sir John A. Macdonald Collegiate Institute
The Sir John A. Macdonald Collegiate Institute in Toronto. Photo by Peter J.
In its childish effort to delete historical names from its schools, the Toronto District
School Board (TDSB) appears to have violated its own bylaws.
THIS CONTENT IS RESERVED FOR SUBSCRIBERS
Enjoy the latest local, national and international news.
* Exclusive articles by Conrad Black, Barbara Kay and others. Plus, special edition
NP Platformed and First Reading newsletters and virtual events.
* Unlimited online access to National Post.
* National Post ePaper, an electronic replica of the print edition to view on any
device, share and comment on.
* Daily puzzles including the New York Times Crossword.
* Support local journalism.
SUBSCRIBE FOR MORE ARTICLES
Enjoy the latest local, national and international news.
* Exclusive articles by Conrad Black, Barbara Kay and others. Plus, special edition
NP Platformed and First Reading newsletters and virtual events.
* Unlimited online access to National Post.
* National Post ePaper, an electronic replica of the print edition to view on any
device, share and comment on.
* Daily puzzles including the New York Times Crossword.
* Support local journalism.
REGISTER / SIGN IN TO UNLOCK MORE ARTICLES
Create an account or sign in to continue with your reading experience.
* Access articles from across Canada with one account.
* Share your thoughts and join the conversation in the comments.
* Enjoy additional articles per month.
* Get email updates from your favourite authors.
THIS ARTICLE IS FREE TO READ REGISTER TO UNLOCK.
Create an account or sign in to continue with your reading experience.
* Access articles from across Canada with one account
* Share your thoughts and join the conversation in the comments
* Enjoy additional articles per month
* Get email updates from your favourite authors
Sign In or Create an Account
If you are a Home delivery print subscriber, online access is included in your
subscription. Activate your Online Access Now
In February, TDSB trustees voted to rename three schools named after Sir John A.
Macdonald, Henry Dundas and Egerton Ryerson.
Their decision was outrageous on many grounds, one of which is that it may be in
violation of the bylaw requirement that financial and budgeting information be
publicly presented. Equally bad, after I reached out to TDSB trustees asking for them
to comment on this apparent violation, they clammed up and have stayed silent for
To be clear, the issue is not about denying the injustice of Canada’s residential
schools, nor the admirable goal of making our schools welcoming for all. This is
about an altogether different subject — the misguided tearing down of our great
leaders and the cack-handedness of the TDSB in doing so.
This newsletter tackles hot topics with boldness, verve and wit. (Subscriber-exclusive
* There was an error, please provide a valid email address.
By signing up you consent to receive the above newsletter from Postmedia Network
A welcome email is on its way. If you don't see it, please check your junk folder.
The next issue of Platformed will soon be in your inbox.
We encountered an issue signing you up. Please try again
Interested in more newsletters? Browse here.
In addition to the bylaw breaches, the school board admitted that it did not consult a
single historian as part of its renaming review. Otherwise, it would have had more
accurate portraits of these men than the marred ones recently painted by
How can the TDSB determine and judge 19th-century events without the benefit of
historical research? Simple: it was a sham all along, nothing more than the righteous
application of a 21st-century woke purity test.
It’s time to speak out. Save Our History has been formed to do just that. We’re a
newly created, non-partisan, grassroots movement dedicated to preserving and
celebrating our rich Canadian history by protecting the historical names of our
schools. And there is much to celebrate.
Save Our History works in concert with other groups such as the Canadian Institute
for Historical Education, a group of notable historians who are setting the record
straight and countering the false narratives that took root several years ago.
To dismissively erase Macdonald, Canada’s founding prime minister, from schools
dishonours our history. Of important note, residential schools existed decades before
School classroom with blackboard.
Christopher Dummitt: The TDSB should read the room on renaming schools
Dundas Junior Public School in Toronto.
Patrice Dutil: By renaming schools, TDSB is playing into Donald Trump's hands
3 Advertisement embed-more-topic
This advertisement has not loaded yet, but your article continues below.
Ryerson was an education reformer who founded our free, public education system
and lived among the Mississaugas, but who has been erroneously condemned for
simply writing a report about boarding schools for Indigenous youth that reflected the
contemporary educational consensus, long after they had been established and long
before they became government policy.
Henry Dundas was an active abolitionist who represented a runaway slave in the late
1700s, but who advocated a more tactical approach to abolition given the previous
failures of others to do so amidst the prevailing politics.
All three men were ahead of their times. Were they perfect men? No. Were they
great men? Yes. Should they be honoured? Yes.
Sadly, the TDSB doesn’t plan to stop at these three schools. It made known its
intention to rename other schools, as well.
Nor is this only a Toronto issue. At least 10 other Ontario schools are named after
Macdonald in various cities. Will their school boards also be divisively deleting his
This advertisement has not loaded yet.
1 Subscriber only. Conrad Black: A Mark Carney win would be a disaster for Canada
2 NP View: What Pierre Poilievre's massive rallies tell us about the election
3 Kenney warns against letting 'small minority' of Alberta separatists dominate
4 Liberals are already dreaming of a majority — and more seats in Calgary might be
George Chahal and Mark Carney.
5 Saskatchewan beats Alberta and Quebec in wanting to leave Canada if Carney
This advertisement has not loaded yet, but your article continues below.
Our schools are falling apart. Precious money is needed to carry out urgent repairs,
which is surely a more pressing need and appropriate use of scarce resources than
name changes. Our kids deserve better schools and, equally importantly, to be proud
Given that the Toronto board educates around 239,000 children, its provincial
overseers at the Ministry of Education should sit up and pay attention to what’s going
At a time when our country’s very existence is threatened by U.S. President Donald
Trump, this is the worst possible time to give him added ammunition to question the
If the Toronto school board were truly interested in correcting the mistakes of the
past, it would start with its own. But it is likely too far gone and too far captured by
revisionists to admit that renaming schools was a mistake.
Right-minded citizens must stand up and our leaders must act. If you care about our
national heritage, you must speak out. And the Ontario government must step in.
Mark Johnson is the founder of SaveOurHistory.ca. He was a Conservative
candidate in Toronto in the 2021 federal election and is a corporate lawyer who has
worked in the private and public sectors.
Share this article in your social network
Share this Story : Mark Johnson: TDSB goes out of its way to cancel Canadian
* SVG Image SVG Image Copy Link
You must be logged in to join the discussion or read more comments.
SVG ImageJoin the Conversation
Postmedia is committed to maintaining a lively but civil forum for discussion. Please
keep comments relevant and respectful. Comments may take up to an hour to
appear on the site. You will receive an email if there is a reply to your comment, an
update to a thread you follow or if a user you follow comments. Visit our Community
Guidelines for more information.
* Manage Print Subscription
-----------------------------------------------------------------------------------------------------------------------------------------
* Manage My Print Subscription
* Classifieds Marketplace
Visit our Instagram page (Leaving National Post)
Visit our Facebook page (Leaving National Post)
Visit our YouTube page (Leaving National Post)
Visit our X page (Leaving National Post)
-----------------------------------------------------------------------------------------------------------------------------------------
365 Bloor Street East, Toronto, Ontario, M4W 3L4
© 2025 National Post, a division of Postmedia Network Inc. All rights reserved.
Unauthorized distribution, transmission or republication strictly prohibited.
Privacy PolicyTerms of UseCopyrightDigital Ad RegistryFAQSitemapContact us
Notice for the Postmedia Network
This website uses cookies to personalize your content (including ads), and allows us
to analyze our traffic. Read more about cookies here. By continuing to use our site,
you agree to our Terms of Use and Privacy Policy.
You've reached the 20 article limit.
You can manage saved articles in your account.
and save up to 100 articles!
Looks like you've reached your saved article limit!
You can manage your saved articles in your account and clicking the X located at the
bottom right of the article.
var extractor = new ParagraphExtractor();
var paragraphs = extractor.ExtractParagraphs(article);
Console.WriteLine("Found paragraphs ending with punctuation:");
for (int i = 0; i < paragraphs.Count; i++)
Console.WriteLine(paragraphs[i]);