Great, LMK

> On Jun 23, 2021, at 00:08, Zoe Barnett <[email protected]> wrote:
> 
> Hello Harvey... Wow. This is very kind of you. Thank you! 
> 
> I hope to take some time this weekend to see if I can make this work. I'll 
> let you know how it goes.
> 
> Zoe
> 
>> On Wednesday, 23 June 2021 at 05:22:31 UTC+3 Harvey Pikelberger wrote:
>> 
>>> On Jun 22, 2021, at 12:59 PM, Zoe Barnett <[email protected]> wrote:
>>> 
>>>  As neither bear nor mouse. I need to count distinct words or exact phrases 
>>> separated by spaces on either side or followed by punctuation like , : ; .  
>>> So 
>>> popular pet,
>>> (followed by a comma) would get a hit, but
>>> popular petshops
>>> wouldn't.
>> 
>> There are a lot of ways to approach this.
>> The BBEdit folks are brilliant w/ AppleScript and integrating that with 
>> BBEdit.
>> There are also ways to approach this using command line which is very fast, 
>> a little cryptic.
>> Here's a very simple, probably overly simple NodeJS approach, which can be 
>> modified to work in a web browser.
>> You would no doubt customize this to suit the nuances and particulars of 
>> your workflow.
>> 
>> fs = require('fs'); //file handling library for NodeJS
>> wordList = fs.readFileSync(__dirname + 
>> '/list.txt').toString().trim().split('\n'); //get the values in "list.txt"
>> content = ' ' + fs.readFileSync(__dirname + 
>> '/content.txt').toString().trim() + ' '; //gets the content
>> output = []; //initialize output variable
>> wordList.forEach(thisSearch => { //iterate through your list of words
>>    var thisRegex, thisRslt, thisCount;
>>    thisRegex = new RegExp('[^a-zA-Z]' + thisSearch + '[^a-zA-Z]', 'g'); 
>> //Set up the search / count
>>    thisRslt = content.match(thisRegex); // execute the count
>>    thisCount = (thisRslt == null ? 0 : thisRslt.length); // turn "null" 
>> results into zero
>>    console.log(thisSearch, thisCount, thisRslt); //progress outputted to 
>> console
>>    output.push(thisSearch + "\t" + thisCount); //add to the output variable
>> });
>> fs.writeFileSync(__dirname + '/output.txt', output.join('\n'));  //puts the 
>> final result in a file named "output.txt"
>> 
>> 
>> 
> 
> -- 
> This is the BBEdit Talk public discussion group. If you have a feature 
> request or need technical support, please email "[email protected]" 
> rather than posting here. Follow @bbedit on Twitter: 
> <https://twitter.com/bbedit>
> --- 
> You received this message because you are subscribed to the Google Groups 
> "BBEdit Talk" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to [email protected].
> To view this discussion on the web visit 
> https://groups.google.com/d/msgid/bbedit/cd0e36f3-6286-470d-a6dd-f06d3cd2aca3n%40googlegroups.com.

-- 
This is the BBEdit Talk public discussion group. If you have a feature request 
or need technical support, please email "[email protected]" rather than 
posting here. Follow @bbedit on Twitter: <https://twitter.com/bbedit>
--- 
You received this message because you are subscribed to the Google Groups 
"BBEdit Talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/bbedit/F2DAC97D-61F3-4E7D-B9FD-084D67A4DFCF%40gmail.com.

Reply via email to