Answers.Body: <p>What you're experiencing is also known as the "<a href="http://en.wikipedia.org/wiki/Scunthorpe_problem">Scunthorpe problem</a>", which is caused by <a href="http://en.wikipedia.org/wiki/Wordfilter">wordfilters</a> going haywire. To make a long story short:</p>
  
  <p><strong>Wordfilters do not work. They never did and never will.</strong> </p>
  
  <p>If you actually want to remove cursing from any text, you're looking at a major programming task.  There is no short-cut approach that actually works. It needs a substantial amount of code to semantically analyse every sentence in its context to find out if "cock" actually refers to a male chicken.</p>
  
  <p>If cursing bothers you so much, I truely suggest picking your authors accordingly. There are tons of good authors out there who don't make judicious use of curse words. I assume there are more people bothered by this so there should be bloggers, forums etc. around giving recommendations.</p>
  
  <p>P.S. I find it funny that you seem to have "Christ" on your filter list. </p>
  
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2014-02-18T04:29:31.057Z
Answers.Text: I'm not sure if it will "never" be solved. I'm confident eventually we will have artificial intelligence that will identify these sorts of things just as intelligently as a human. One of the authors I was reading used Christ as a curse quite a bit.
Answers.UserDisplayName: Aaron Klap
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2014-02-19T03:25:56.913Z
Answers.Text: The term "wordfilter" refers to a type of algorithm (hence the Wikipedia link). That type of algorithm will actually never ever be able to solve your problem. That does not mean there are no (or never will be) other systems to get there.
Answers.UserDisplayName: Hazzit
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2014-02-20T13:02:52.113Z
Answers.Text: Hmm... it seems that the Scunthorpe problem could be solved by using word barriers... of course, that wouldn't solve the 'cock-as-male-chicken' problem. I don't know if Calibre has this ability, though.
Answers.UserDisplayName: evilsoup
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2014-02-17T16:55:15.810Z
Answers.LastActivityDate: 2014-02-17T16:55:15.810Z
Answers.UserDisplayName: Hazzit
Answers.Body: <p>I had the same problem and created a plugin to do just this. See <a href="https://github.com/jdanders/calibre-plugin-language-cleaner/releases" rel="nofollow noreferrer">https://github.com/jdanders/calibre-plugin-language-cleaner/releases</a></p>
  
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2018-02-23T05:48:44.033Z
Answers.Text: Thank you very much for this.  Was struggling with creating a search/replace filter set to remember to load everytime.  This plugin seems to handle it correctly.  Great job.
Answers.UserDisplayName: klkitchens
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2017-06-15T15:20:56.730Z
Answers.LastActivityDate: 2017-06-15T15:20:56.730Z
Answers.UserDisplayName: jdanders
Body: <p>Many of the authors I read, enjoy placing curse words in their books but use them a bit judiciously. In addition, I am not a fan of cursing in general. </p>
  
  <p>I am currently filtering out curse words using Calibre, but it's not working terribly great. Some curse words are not caught due to their being capitalized, hyphenated, punctuated, etc. Other non-cuss words get filtered out when they don't need to be: Christian to <strong><em>*</em>****</strong>*ian.</p>
  
  <p>Perhaps there is a preformatted list of cuss words available which I can import into Calibre and use as a filter?</p>
  
Tags: <calibre><language>
Title: How to filter curse words?
UserDisplayName: Aaron Klap
ThreadText: # How to filter curse words?
  
  (Asked by: username_0 on 2014-02-17)
  
  Many of the authors I read, enjoy placing curse words in their books but use them a bit judiciously. In addition, I am not a fan of cursing in general.
  
  I am currently filtering out curse words using Calibre, but it's not working terribly great. Some curse words are not caught due to their being capitalized, hyphenated, punctuated, etc. Other non-cuss words get filtered out when they don't need to be: Christian to ***\**\*\*\*\***\*ian.
  
  Perhaps there is a preformatted list of cuss words available which I can import into Calibre and use as a filter?
  
  **Tags:** calibre, language
  
  
  ---
  
  ## 2 answers
  
  ### Answer by username_1 on 2014-02-17. Score: 12
  
  What you're experiencing is also known as the "[Scunthorpe problem](http://en.wikipedia.org/wiki/Scunthorpe_problem)", which is caused by [wordfilters](http://en.wikipedia.org/wiki/Wordfilter) going haywire. To make a long story short:
  
  **Wordfilters do not work. They never did and never will.**
  
  If you actually want to remove cursing from any text, you're looking at a major programming task. There is no short-cut approach that actually works. It needs a substantial amount of code to semantically analyse every sentence in its context to find out if "cock" actually refers to a male chicken.
  
  If cursing bothers you so much, I truely suggest picking your authors accordingly. There are tons of good authors out there who don't make judicious use of curse words. I assume there are more people bothered by this so there should be bloggers, forums etc. around giving recommendations.
  
  P.S. I find it funny that you seem to have "Christ" on your filter list.
  
  > **Comments:**
  > **username_0**: I'm not sure if it will "never" be solved. I'm confident eventually we will have artificial intelligence that will identify these sorts of things just as intelligently as a human. One of the authors I was reading used Christ as a curse quite a bit.  
  > **username_1**: The term "wordfilter" refers to a type of algorithm (hence the Wikipedia link). That type of algorithm will actually never ever be able to solve your problem. That does not mean there are no (or never will be) other systems to get there.  
  > **username_2**: Hmm... it seems that the Scunthorpe problem could be solved by using word barriers... of course, that wouldn't solve the 'cock-as-male-chicken' problem. I don't know if Calibre has this ability, though.  
  
  ---
  
  ### Answer by username_3 on 2017-06-15. Score: 2
  
  I had the same problem and created a plugin to do just this. See <https://github.com/username_3/calibre-plugin-language-cleaner/releases>
  
  > **Comments:**
  > **username_4**: Thank you very much for this.  Was struggling with creating a search/replace filter set to remember to load everytime.  This plugin seems to handle it correctly.  Great job.  
  
  ---
  
  