Finding titles without spaces between words

I have a problem with unknown numbers of files, which got their titles messed up: the pauses between words [and other signs] are missing

I have found this ready to use code Regular Expressions, but I cannot use it just yet. Because, there can be original titles, that have combination of small and capital letters on purpose. And so I have to manually check all the case; and only after doing so, treat my files

So what would be the filter expression, to find for example

TitleOfASong
SomeOtherSong(2010Mix)
YetAnotherSong{Intrumental}+YetAnotherSong?

see e.g. the Camel Case expression:
Regular Expressions

Thank you, that works

Unfortunately I was not able to adapt it to a filter [so I cannot use it yet]

"$if($eql($len($regexp(%title%,'(?<!^)(\u\l|(?<=\l)[\u\d])',' $1')),$len(%title%)),1,0)" IS "0"

Something is wrong

It just narrowed down selection to 86% of all of my files. And I wasn't able to spot among them a single case in question

Probably it is a missing ().
I do not have such files, so I cannot test it.

The basic idea: if you add the space character between the camel case letters, the length of the new string is not the length of the original string. All other strings remain the same, so the lengths match.

Way over my head

But I do see a missing bracket in a middle. So I tried variations

"$if($eql($len($regexp(%title%,'(?<!^)(\u\l|(?<=\l)[\u\d]))',' $1')),$len(%title%)),1,0)" IS "0"
"$if($eql($len($regexp(%title%,'(?<!^)(\u\l|)(?<=\l)[\u\d])',' $1')),$len(%title%)),1,0)" IS "0"
"$if($eql($len($regexp(%title%,'(?<!^)(\u\l|(?<=\l))[\u\d])',' $1')),$len(%title%)),1,0)" IS "0"
"$if($eql($len($regexp(%title%,'(?<!^)(\u\l|(?<=\l))([\u\d])',' $1')),$len(%title%)),1,0)" IS "0"
"$if($eql($len($regexp(%title%,'(?<!^)(\u\l|(?<=\l)[\u\d])',' $1')),$len(%title%)),1,0)" IS "0"With no luck. It still does not work

In post #3 you say that you got the desired result with a regexp.
So just take it and insert it in the following $if:

"$if($eql($len(regexp here),$len(%artist%)),1,0)" IS "0"

Instead of %artist% put the correct fieldname.

Well, this

$regexp(%TITLE%,'(?<!^)(\u\l|(?<=\l)[\u\d])',' $1')put in action as format value for the field TITLE makes the desired corrections on test names provide by me in post <a href="/t/18676/1" target="_blank">#1</a>

But this
"$if($eql($len($regexp(%TITLE%,'(?<!^)(\u\l|(?<=\l)[\u\d])',' $1')),$len(%TITLE%)),1,0)" IS "0"put in in the filter box "narrows down" to 86% but I still cannot spot a single case of what I am looking in those 86%; unless I add those test files to loaded files- but this code also shows control versions of them with correct titles [with pauses]

This filter expression ...

"$ifgreater($len($regexp(%TITLE%,'(?<!^)(\u\l|(?<=\l)[\u\d])',' $1')),$len(%TITLE%),1,0)" EQUAL "1"

... compares the length of the virtually splitted CamelCase TITLE string with the length of the original TITLE string, ... and this way it triggers the filter to display such files.

To reduce the filter view only to files having TITLE strings without space character ...

"$ifgreater($len($regexp(%TITLE%,'(?<!^)(\u\l|(?<=\l)[\u\d])',' $1')),$len(%TITLE%),1,0)" EQUAL "1" AND NOT %TITLE% HAS " "

DD.20170209.1207.CET

That works exactly as is should. Thank you very much

I think that your post should be added to that Support sections collecting useful codes

As for my search result it was just as I expected: there were dozens of cases of original / intentional CamelCases and Cases-With-Multiple-Hyphens

How about if I all of my TITLEs now how a single pause at the end? How do add a disregard for it to that code?

Currently I use a workaround: I copy all of the files, execute an action that removes pauses at the end of the TITLE and then use that already working filter code "$ifgreater($len($regexp(%TITLE%,'(?<!^)(\u\l|(?<=\l)[\u\d])',' $1')),$len(%TITLE%),1,0)" EQUAL "1" AND NOT %TITLE% HAS " ". But that is both a time and a hard drive space consuming tiresome thing to perform


[And the pause at the end of TITLE I use for the purpose of coping to Filter box- when I want to quickly check something out and I am using only a mouse, like when I am laying on a bed, then I can select such TITLE, past it into the Filter box and then past anything else copied form some place- and get a most simple filtering and expression consisting of some more data

Try
"$if($eql($len(%artist%),$len($trim(%artist%))),1,0)" IS "0"
to find files where there is a trailing or leading space - in this case in the field ARTIST.

Unfortunately

"$if($eql($len(%TITLE%),$len($trim(%TITLE%))),1,0)" IS "0"

gave me 14974 out of 14 977 files. I thought that maybe the remaining 3 would be the ones in question, but no. Those left seem to be the ones who happen to not have a pause at the end of TITLE

Then I did not understand what you mean by

That ass is suppose to be ``add```; I just corrected it


The code from two years ago finds cases like

1 TitleOfSomeSong

but is unable to show

2 TitleOfSomeSong_

3 Title Of Some Song_

4 Title Of Some Song

where the underscore _ shows where the pause is. The 1 and 2 is what am looking for, the 3 and 4 are just for reference [I do not want the code to filter them out]

Perhaps this works:
"$ifgreater($trim($len($regexp('TitleOfSomeSong ','(?<!^)(\u\l|(?<=\l)[\u\d])',' $1'))),$trim($len('TitleOfSomeSong')),1,0)"

Unfortunately

$ifgreater($trim($len($regexp(%TITLE% ,'(?<!^)(\u\l|(?<=\l)[\u\d])',' $1'))),$trim($len(%TITLE%)),1,0)

"$ifgreater($trim($len($regexp(%TITLE% ,'(?<!^)(\u\l|(?<=\l)[\u\d])',' $1'))),$trim($len(%TITLE%)),1,0)"

do not work. They do not show any results

You do realize that this is just the first part and that you have to complete the filter expression, don't you?

Now I do

But if this

"$ifgreater($trim($len($regexp(%TITLE% ,'(?<!^)(\u\l|(?<=\l)[\u\d])',' $1'))),$trim($len(%TITLE%)),1,0)" IS "0"

is suppose to be the sollution to the problem, then it is not a correct one