Comments (9)
Hi Brian,
thanks for the nice feedback, great to hear. I've already replaced line 66 (don't know what went through my head there), but I can't quite figure out the correct RegEx to get rid of the punctuation.
Which characters would be affected, anyway?
And don't worry about being pedantic, it's great to have another eye on the code to spot the little things. :)
from countable.
Hi Sacha,
Thinking further, the punctuation regExp will have to change according to language i.e. the regExp for the Spanish language will contain characters not necessary in the English language (inverted question mark for example).
It may be possible to create an uber regExp that covers most languages but you will never keep everyone happy! Here's a most terrible attempt at something that might work:
/['";:,./?¿-!¡]/g
Good Luck!
from countable.
If you want to remove punctuation, I think a better regex would be something like str.replace(/[^A-Za-z0-9 ]/g, ''). That should remove anything that's not a space, number, or letter.
On the other hand, I don't think that this is something that would be desirable. It's not very intuitive, and it makes it so that count.js output doesn't match Microsoft Word's count, which would probably be the standard you'd want to follow.
from countable.
Hi Will, your regExp will fail dramattically on any language that has accented characters.
from countable.
Not entirely sure, but I think it would only matter if a character is preceded by a space (e.g. question mark or exclamation point in French). Likte that, wouldn't it actually be save to just remove those characters (plus the space), wherever needed?
from countable.
You are right! So this might work - looks for a space before a punctuation character and replaces them both...
.replace(/\s['";:,./?¿-!¡]/g, '').split(/\s).length
from countable.
Ah yeah, don't know what I was thinking really. Still, I think the Microsoft Word question is valid. A solitary punctuation is also treated as a word by wc. I don't think getting different results from both of those is a good idea.
from countable.
Just tested how some other tools treat this situation. Google Docs, Drafts for iOS and iA Writer all ignore the punctuation and count your example as three words. I think it would be better to follow the lead of more recent projects like the aforementioned. I'll look into it later.
from countable.
Well, that makes sense. I guess it's up to you haha.
from countable.
Related Issues (20)
- Exclude content from count HOT 2
- should be parsed as a space when strip tags is turned on
- Validate on HTMLCollection HOT 2
- Wrong name in countable npm package HOT 1
- Uncaught TypeError: Cannot set property 'Countable' of undefined HOT 2
- Will the tool support Chinese in the future? HOT 3
- Add support for just passing in a string? HOT 4
- Readme issue HOT 1
- Wrong counter on mobile HOT 1
- Don't count markdown headings
- 3.0.1 on npm HOT 2
- V3.0.1 - Error with Array.isArray at line 197 for jquery elements
- Doesn't minify with webpack in a create-react-app project
- WYSIWYG Summernote issue
- Giving wrong word count in WYSIWYG editor (ck editor)
- Uncaught SyntaxError: Block-scoped declarations (let, const, function, class) not yet supported outside strict mode
- README.md refering old function name HOT 1
- Broken Site HOT 1
- Not working with any editor
- ignoreReturns: true not respected
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from countable.