# Make function ignore Case-sensitivity of its input

**URL:** <https://discourse.julialang.org/t/make-function-ignore-case-sensitivity-of-its-input/101294>\
**Category:** General Usage\
**Tags:** question\
**Created:** [July 7, 2023, 7:38am UTC](https://discourse.julialang.org/t/make-function-ignore-case-sensitivity-of-its-input/101294 "2023-07-07T07:38:53Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![raman\_kumar](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/raman_kumar/32/26782_2.png) [@raman\_kumar](https://discourse.julialang.org/u/raman_kumar)\
**Post date:** [July 7, 2023, 7:38am UTC](https://discourse.julialang.org/t/make-function-ignore-case-sensitivity-of-its-input/101294/1 "2023-07-07T07:38:53Z")

</div>

I want make _findfirst()_ function Case-insensitive. I want to extract texts after _Filter_ word in webpages text. Some webpages contains it as _FILTER_ and some as _Filter_. How to make them equivalent ?

 ![image](https://global.discourse-cdn.com/julialang/original/3X/2/b/2b0e766aac6238cef250a899b1c80aed04ed1586.png)

while for other webpages that contains _Filter_ it shows correct output

 ![image](https://global.discourse-cdn.com/julialang/original/3X/5/5/55385acc390be92825f989494e4424e1aabd0134.png)

For detailed understanding visit [Get index corresponding to some number in list of outputs - #14 by raman\_kumar](https://discourse.julialang.org/t/get-index-corresponding-to-some-number-in-list-of-outputs/101068/14)

---

<div class="post-metadata">

**Author:** ![gdalle](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/gdalle/32/27854_2.png) [@gdalle](https://discourse.julialang.org/u/gdalle)\
**Post date:** [July 7, 2023, 10:28am UTC](https://discourse.julialang.org/t/make-function-ignore-case-sensitivity-of-its-input/101294/2 "2023-07-07T10:28:40Z")

</div>

Maybe use a regex to compare with?

---

<div class="post-metadata">

**Author:** ![rocco\_sprmnt21](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/rocco_sprmnt21/32/20127_2.png) [@rocco\_sprmnt21](https://discourse.julialang.org/u/rocco_sprmnt21)\
**Post date:** [July 7, 2023, 11:12am UTC](https://discourse.julialang.org/t/make-function-ignore-case-sensitivity-of-its-input/101294/3 "2023-07-07T11:12:57Z")

</div>

> [@raman\_kumar](#):
>
> contains it as _FILTER_ and some as _Filter_.

```julia
findfirst(r"Filter|FILTER",txt)

```

---

<div class="post-metadata">

**Author:** ![raman\_kumar](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/raman_kumar/32/26782_2.png) [@raman\_kumar](https://discourse.julialang.org/u/raman_kumar)\
**Post date:** [July 7, 2023, 11:42am UTC](https://discourse.julialang.org/t/make-function-ignore-case-sensitivity-of-its-input/101294/4 "2023-07-07T11:42:21Z")

</div>

suppose if some webpage contains it as\_filter\_ or _FILter_ then what should i do ?  
I mean isn’t there way to make it case-insensitive. 🤪

---

<div class="post-metadata">

**Author:** ![stevengj](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/stevengj/32/71_2.png) [@stevengj](https://discourse.julialang.org/u/stevengj)\
**Post date:** [July 7, 2023, 11:50am UTC](https://discourse.julialang.org/t/make-function-ignore-case-sensitivity-of-its-input/101294/5 "2023-07-07T11:50:34Z")

</div>

> [@raman\_kumar](#):
>
> I mean isn’t there way to make it case-insensitive.

If you add `i` after the regex it becomes case-insensitive:

```julia
findfirst(r"filter"i, txt)

```

See the [`r"..."` documentation](https://docs.julialang.org/en/v1/base/strings/#Base.@r_str).

---

<div class="post-metadata">

**Author:** ![rocco\_sprmnt21](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/rocco_sprmnt21/32/20127_2.png) [@rocco\_sprmnt21](https://discourse.julialang.org/u/rocco_sprmnt21)\
**Post date:** [July 7, 2023, 9:29pm UTC](https://discourse.julialang.org/t/make-function-ignore-case-sensitivity-of-its-input/101294/6 "2023-07-07T21:29:42Z")

</div>

You could do something like this or add an ‘i’ 😄

```julia
using IterTools

cp=collect(partition("abc fli FiLteR nmb",6,1))

findfirst(p->all(t->t[1] ∈ t[2], zip(p,zip("filter","FILTER"))), cp)

```

```julia

function imatch(s, patt)
    cp=partition(s,length(patt),1)
    for i in eachindex(cp)
        all(t->t[1] ∈ t[2], zip(cp[i],zip(lowercase(patt),uppercase(patt)))) ? (return i) : continue
    end
end

s="abc fli FiLteR nmb"
patt="FiLtEr"
imatch(s,patt)

```
