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
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.
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
$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]
... 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 " "
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.
"$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
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]