String counter

by sonone, Nov 17, 2020, 6:57 PM

I created a new function (probably exists) that counts the number of occurrences of a certain string inside another. The is is the source code:
int count(string find, string enter, int b=1, int e=length(enter)+1){
int count=0;
int finder=length(find);
int range1=b-1;
int range2=e-finder;
for(int i=range1; i<=range2; ++i){
if(substr(enter,i,finder)==find){
++count;
}
}
return count;
}

The cool thing is that you can search strings with length greater than 1. Here are a few examples:
[asy]
size(400);
int count(string find, string enter, int b=1, int e=length(enter)+1){
int count=0;
int finder=length(find);
int range1=b-1;
int range2=e-finder;
for(int i=range1; i<=range2; ++i){
if(substr(enter,i,finder)==find){
++count;
}
}
return count;
}
string wiwtc="e";
string odoc="In the beginning of most coding ideas, error is common";
int find=count(wiwtc,odoc);
label("The character(s) being counted: "+wiwtc,(0,20));
label("The source: "+odoc,(0,0));
label("The number of occurrences of "+wiwtc+": "+string(find),(0,-20));
draw(box((min(currentpicture).x,-30),(max(currentpicture).x,30)));
[/asy]
[asy]
size(400);
int count(string find, string enter, int b=1, int e=length(enter)+1){
int count=0;
int finder=length(find);
int range1=b-1;
int range2=e-finder;
for(int i=range1; i<=range2; ++i){
if(substr(enter,i,finder)==find){
++count;
}
}
return count;
}
string wiwtc="131";
string odoc="1313131";
int find=count(wiwtc,odoc);
label("The character(s) being counted: "+wiwtc,(0,20));
label("The source: "+odoc,(0,0));
label("The number of occurrences of "+wiwtc+": "+string(find),(0,-20));
draw(box((min(currentpicture).x,-30),(max(currentpicture).x,30)));
[/asy]
[asy]
size(400);
int count(string find, string enter, int b=1, int e=length(enter)+1){
int count=0;
int finder=length(find);
int range1=b-1;
int range2=e-finder;
for(int i=range1; i<=range2; ++i){
if(substr(enter,i,finder)==find){
++count;
}
}
return count;
}
string wiwtc="A1";
string odoc="A1B2A4C5D5D5A1";
int find=count(wiwtc,odoc);
label("The character(s) being counted: "+wiwtc,(0,20));
label("The source: "+odoc,(0,0));
label("The number of occurrences of "+wiwtc+": "+string(find),(0,-20));
draw(box((min(currentpicture).x,-30),(max(currentpicture).x,30)));
[/asy]
I also added this code here.
This post has been edited 1 time. Last edited by sonone, Nov 17, 2020, 6:57 PM

Comment

1 Comment

The post below has been deleted. Click to close.
This post has been deleted. Click here to see post.
Wow, that's cool! :P

by player01, Nov 19, 2020, 7:04 PM

Old material is mostly Asymptote, new material is calculator programming

avatar

sonone
Archives
+ April 2023
+ August 2022
+ April 2021
+ August 2020
Shouts
Submit
  • I still exist as well.

    by G.G.Otto, Aug 11, 2023, 2:44 AM

  • hello I'm still here lol

    by player01, Aug 6, 2022, 6:24 PM

  • [REVIVAL] I will start posting more calculator relating posts very soon. Even though school has been busy, I have been programming my calculators a decent amount, so I have a lot to share...

    by sonone, Feb 18, 2022, 10:29 PM

  • wow its been like 2.5 years since geo class

    by pieMax2713, Feb 4, 2022, 8:38 PM

  • @violin21, I've been very busy with school lately and haven't been able to add another lesson. I will when i get a free moment

    by sonone, Aug 19, 2021, 12:45 AM

  • ORZ CODER

    by samrocksnature, Aug 9, 2021, 9:57 PM

  • Could you make more Asymptote lessons on your "How to do Asymptote" blog?

    by violin21, Aug 9, 2021, 7:26 PM

  • You can take it, just C&P the CSS into your CSS area

    by sonone, Apr 17, 2021, 10:08 PM

  • how can we take the CSS if we have permission to not take it?

    by GoogleNebula, Apr 17, 2021, 5:22 PM

  • That is awesome!

    by sonone, Apr 15, 2021, 10:09 PM

  • I modified your dodecahedron and got:
    [asy]
    import three;
    import solids;
    size(300);
    currentprojection=orthographic(0,1.3,1.2);
    light(0,5,10);

    real phi=(sqrt(6)+1)/3;
    real g=(phi-1)/2;
    real s=1/2;
    real a=sqrt(1-phi*phi/4-g*g)+phi/2;

    triple[] d;
    d[0]=(phi

    by Andrew2019, Mar 26, 2021, 12:15 AM

  • Not too many, just changing the color here and there. I really like your CSS!

    by sonone, Feb 2, 2021, 10:35 AM

  • Nice!

    I see you're making changes to the CSS. :)

    by G.G.Otto, Feb 1, 2021, 9:26 PM

  • I'm learning Java now!

    by sonone, Feb 1, 2021, 5:56 PM

  • And I took part of it from CaptainFlint and then added a ton of modifications. ;)

    by G.G.Otto, Dec 1, 2020, 8:56 AM

98 shouts
Tags
About Owner
  • Posts: 2106
  • Joined: Aug 20, 2016
Blog Stats
  • Blog created: Mar 28, 2020
  • Total entries: 61
  • Total visits: 4974
  • Total comments: 146
Search Blog
a