What is meta? ×
Meta Stack Exchange is where users like you discuss bugs, features, and support issues that affect the software powering all 130 Stack Exchange communities.

Disclaimer: I admit that this is a personal pet peeve of mine, so feel free if to close this with extreme prejudice if I'm alone in this.

Some people have a tendency to end their sentences with an over-abundance of punctuation marks. The most common offences to this happens with exclamation marks and questions marks and more often than not it's in the title.

And opinion on this aligns closely with that of Sir Terry Pratchett. But even if you don't subscribe to that particular train of thought, I think it's clear that this construct doesn't really add anything to the clarity or expressiveness of the question.

Can we please get rid of them? I think it would be fairly easy to reduce any case where multiple question/exclamation marks are at the end of the title to a single instance.

Ideally we could also do this in the body (or inside the title), but obviously this is a lot more dangerous (e.g. "What does the !! operator do in C" should not be reduced to "What does the ! operator do in C", even if !! is not an operator in C).

What do you think?

Note that according to this query, there are 427 questions that end in "!!", 235 questions ending in "!!!", 28 questions ending in "!!!!" and 9 questions ending in 5 or more exclamation marks. There are also 4331 questions ending in "??", 1546 ending in "???", 221 ending in "????" and 61 ending in 5 or more question marks (note that the query is not perfect, as the numbers for 2 to 4 punctuations marks also include the higher counts, I'm too lazy to write the correct query).

As far as I know, this query also only finds questions that have not been edited to remove this. I guess that there are a lot more such questions posted than that, but most of them will be edited.

share|improve this question
I just edit any such post I see and remove the noise.. not sure we need automatic removal. –  Shadow Wizard Jul 26 '11 at 10:05
@Shadow: I'm not sure myself. More often than not those posts also need some other editing, so it's not a big stumbling block. –  Joachim Sauer Jul 26 '11 at 10:08
You forgot !?! As in WTF!?! –  M. Tibbits Jul 26 '11 at 13:48
M. Tibbits: while that's not really nice either, it's harder to know what to replace it with. Is a "!" appropriate? Or a "?" Or even a (barely tolerable) "!?"? –  Joachim Sauer Jul 26 '11 at 13:56
Hehe. Yeah, with my suggestion, I don't really have a solution for !?! Sorry! –  M. Tibbits Jul 26 '11 at 14:34
@Joachim, allow me to introduce you to my friend U+203D - INTERROBANG. The problem is now solved, innit‽ –  Pops Jul 26 '11 at 15:16
"What does the !! operator do in C" should not be reduced to "What does the !! operator do in C" <-- you have the same amount of ! in both sentences, I cannot fix it, as it's only one symbol edit –  igor milla Jul 26 '11 at 15:48
Thanks, @igor, fixed. –  Joachim Sauer Jul 26 '11 at 20:32
So the consensus seems to be that it's mildly annoying but not worth fixing automatically. I can live with that. –  Joachim Sauer Jul 26 '11 at 20:34
What about the 1s that come after !!!!!!!!!!!!!!!111 ? –  muntoo Jul 26 '11 at 22:03

5 Answers 5

up vote 14 down vote accepted

Great idea, I totally support this, making it so:

--- make sure all question titles end with at most one question mark
set Title = dbo.RegexReplace(Title, '\?{2,}$', '?')
PostTypeId = 1 and 
Title like '%??'

7315 rows affected

--- make sure all question titles end with at most one exclamation point
set Title = dbo.RegexReplace(Title, '\!{2,}$', '!')
PostTypeId = 1 and 
Title like '%!!'

1005 rows affected

--- make sure no question titles end with any number of periods
set Title = dbo.RegexReplace(Title, '\.+$', '')
PostTypeId = 1 and 
Title like '%.'

89696 rows affected

--- make sure no question titles have extraneous spaces before the ?
set Title = dbo.RegexReplace(Title, '\s+\?$', '?')
PostTypeId = 1 and 
Title like '% ?'

45201 rows affected

--- OK now you're just pissing me off
set Title = dbo.RegexReplace(Title, '[?!]+$', '?')
PostTypeId = 1 and 
(Title like '%!?' or Title like '%?!')

~1500 rows affected

Also run for SO, SU, SF and the top ~15 SE 2.0 sites. It is also now enforced as a silent, automatic edit at time of question ask.

share|improve this answer
Interesting that this makes it so question titles cannot end in an ellipsis... –  Michael McGowan Aug 5 '11 at 20:48
correct, why would anyone ever want that... –  Jeff Atwood Aug 5 '11 at 22:12
@Jeff: As Bill Dubuque points out in a comment, an ellipsis in the end can make sense on math.se. An example: "How to continue the sequence 2, 3, 5, 7, 11, 13, 17, ..." –  Hendrik Vogt Aug 10 '11 at 14:21
@HendrikVogt: "How to continue the sequence 2, 3, 5, 7, 11, 13, 17, ...?" You missed the question mark. –  R. Martinho Fernandes Oct 12 '11 at 5:09
Why didn't it affect this question: What does the C ??!??! operator do??!??!? I'm not saying that it should - I think that's an excellent title - I'm saying that I thought it would, and that because it doesn't you might want to revise that last regex. –  Kevin Vermeer Oct 19 '11 at 17:31
@KevinVermeer It actually did work, when I first tried it it was automatically removed. I got around it by adding a space to the end and then an ellipsis ??!??!? .... Then, it automatically removed the trailing periods but not the interrobang. Note that since then the question title has been edited to a plain ?!. –  Peter Olson Oct 24 '11 at 14:06

Yes, I think this is annoying as well when it is overused. But I can imagine certain cases where two (but not more than two) exclamation marks would be acceptable to truly emphasize something. I've done that before, and I wouldn't want them removed.

And in addition, as you point out, it would potentially cause problems for operators in certain programming languages.

I think this is another example of the more general case that edit privileges and suggested edits were designed to solve. We really don't need to handle this with a regex.

Titles are pretty visible, and easily corrected by other users. This problem seems like it solves itself. Automatically replacing problematic grammatical constructs is a slippery-slope, and not one that I'm convinced is worth going down.

share|improve this answer
I agree, we should replace them, but not automagically. –  Time Traveling Bobby Jul 26 '11 at 10:17
While I do understand the reasoning behind this, what exactly makes multiple exclamation marks different from salutations, which are automatically removed? –  Joachim Sauer Jul 26 '11 at 10:35
@Joachim: Not sure. I suppose I can imagine more legitimate use cases for multiple punctuation marks than I can for any of the words we're matching with that regex. But if one of the devs is bored, I suppose this wouldn't be impossible to implement. –  Cody Gray Jul 26 '11 at 10:41
on the slippery slope: come along and ride on a fantastic voyage | slide slide slippity-slide youtube.com/watch?v=HiXmO9eEuL8 –  Jeff Atwood Jul 30 '11 at 9:53

I correct most double+ punctuation when I'm editing for other problems, though I usually wouldn't edit just for that. I do think that all the cleanup of these should just be done manually, it's way too hard to automate all the special cases on a programming site.

The one I also hate is the extra space in front of the question mark.

What's up with that ?

share|improve this answer
The extra space comes, e.g., from native speakers of French. In French you do put a space in front of :, ! and ?. –  Hendrik Vogt Jul 28 '11 at 5:49
@Hendrik, ah, good to know, I even took 4 years of French (a long time ago) and didn't know that. –  Lance Roberts Jul 28 '11 at 5:50
I've never learned French :-) I can only say "je ne parle pas français". –  Hendrik Vogt Jul 28 '11 at 5:52

The default position of the system should be to leave content as its author intended. If a human being decides to alter text, that is acceptable per the terms of using this site (ironically that item in the FAQ includes "?!"). However, that doesn't mean we should whimsically write scripts to alter content. The great power of automatically editing content should not be used lightly for trivial stylistic issues but saved for more egregious issues (if there are any).

People really, really don't like when they create content and then the computer changes it to something else. Look at the reaction the @lert removals caused. There shouldn't be automated editing of human-generated content without a really good reason, and your personal stylistic preferences don't meet that standard.

share|improve this answer
?! is legitimate punctuation in English; it is called an interro-bang. –  Josh Caswell Jul 26 '11 at 17:47

This would be best if it performed the correct substitutions instead:

  • Given any string of ! and ? outside a <code> block, reduce the length to at most two punctuation marks, retaining one of each if both are present.

  • Replace double exclamation points "!!" with the proper U+203C DOUBLE EXCLAMATION MARK: ‼

  • Replace double question marks "??" with the proper U+2047 DOUBLE QUESTION MARK: ⁇

  • Replace both "?!" and "!?" with the proper U+203D INTERROBANG: ‽

Precision is, of course, an important quality in a programmer, so I think it's clear that using the correct punctuation would show a certain attention to detail and make the whole site feel more professional.

The current situation, with people just littering punctuation anywhere and everywhere, is dreadful. Four exclamation points in a row? Who would do such a thing‽ It's barbaric, I tell you.

Sigh. I guess I'm the only one who finds ridiculous unicode characters inherently funny. Oh well. Yes, for the record, the above is a bad idea. Making fiddly changes to posts to correct stylistic issues is also a bad idea. There's any number of minor tweaks that would be easy to add, but other than stuff like stripping out the obvious salutations it's just going to confuse people when their text gets altered out of nowhere, and false positives will create massive headaches

Think about how the @lert-stripping in comments collides with some actual programming syntax, forcing people to use backticks in comments when they otherwise wouldn't need to. While it's well and good to say that code should be in code blocks or backticks, do we really want to require that in random cases just because it looks like poor style? If I'm talking about nullable types in C#, would it make sense that I could say 1 + 1 = 2 directly, but not num ?? 0 without an extra hurdle?

Interrobangs are still pretty cool, though.

share|improve this answer
I'm not sure if replacing those with Unicode would do any good. –  Time Traveling Bobby Jul 26 '11 at 14:36
-1. I'm sorry, but these are mostly horrific ideas. Why would you ever chance text into obscure Unicode characters? This will add a lot of confusion, and will make searching and editing very difficult. –  Kobi Jul 26 '11 at 14:39
How can you not appreciate the beauty of the interrobang‽ Just look at it. Could there be any punctuation mark more lovely? –  McCannot Jul 26 '11 at 14:44
Gah, this was downvoted so much I didn't even notice it here before posting my own interrobang comment. Good on ya, McCannot. –  Pops Jul 26 '11 at 15:18
@Popular Demand: Yeah, it seems that interrobang isn't very popular around here. :[ What's up with that‽ –  McCannot Jul 26 '11 at 15:20
It's more important to be practical than to be correct. Also the page you yourself linked states that this punctuation is non-standard, so in this case it's not even correct. –  Andreas Bonini Jul 26 '11 at 15:53
@Kop: Er, yes. You noticed the part where I wasn't actually proposing that seriously, right? :\ –  McCannot Jul 26 '11 at 15:57
I guess I didn't –  Andreas Bonini Jul 26 '11 at 16:00
@McCannot - As every new user who posts a "What are your favorite programs" question will inevitable end up saying, Stack Exchange is Allergic to Fun. (And sarcasm can be tough to convey reliably.) –  Neil Fein Jul 27 '11 at 0:44
@Neil Fein: Haha, I don't mind bad jokes being downvoted, and I'm an active member of the No Fun Allowed patrol on SO. It's people thinking I seriously suggested such a dumb idea that makes me feel :[. –  McCannot Jul 27 '11 at 0:48
Users using bad punctuation (or using sarcasm without a license) should be disallowed unicorns. –  Neil Fein Jul 27 '11 at 0:51
@Neil: I'm not in the US so I'm disallowed the uniprong ponies you linked to :-/ (they do let me view the ads, 'though). –  Joachim Sauer Jul 27 '11 at 6:39

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .