[TxMt] Re: How can I add a sequencial number to this Find/Replace?
jgalt
jgaltusa at gmail.com
Sat Feb 21 00:10:40 UTC 2015
What on earth am I doing wrong with my sample files? After I save them and
try to reopen them in TextMate they are blank...but if I open it in a
different text editor all of the content is still there.
On 2/20/15 2:57 PM, "jgalt" <jgaltusa at gmail.com> wrote:
> Sorry, my previous example file was not formatted properly and it got
> truncated. Here is a revised example file as XML: http://goo.gl/el0QMT
>
>
> On 2/20/15 2:45 PM, "jgalt" <jgaltusa at gmail.com> wrote:
>
>> Thanks for taking the time to create the bundle for me René.
>>
>> I have installed it but I am not 100% sure how to use it.
>>
>> I have entered the shortcut key command “^⌥⌘R” and it appears to run but I
>> do not understand how to target the parts that I want to replace.
>>
>> Here is a screen capture of my find and replace settings:
>> http://goo.gl/YBqYy9
>>
>> Here is a zipped file of the file that I am trying to edit:
>> http://goo.gl/XOkDRh
>>
>> I don't know if it matters...but the content that I am trying to edit is
>> from a FileMaker clipboard. I believe that it is in XML format. The items
>> that I am trying to edit are references to layout elements. (More
>> specifically, references to FileMaker Portals.)
>>
>> Thanks again for your help!
>>
>>
>> On 2/20/15 8:26 AM, "René Schwaiger" <sanssecours at f-m.fm> wrote:
>>
>>> Hi jgaltUSA,
>>>
>>>> On 20 Feb 2015, at 9:50 , jgaltUSA <jgaltUSA at gmail.com> wrote:
>>>>
>>>> I am a newbie to textmate and I am trying to perform a find and replace. I
>>>> want to replace the matched text with a sequential number.
>>>>
>>>> Here is my current replacement string: $1##$2
>>>>
>>>> How can I replace the ## with a sequential number?
>>>
>>> I do not think that what you want is possible using only regular expressions
>>> and “Find & Replace”. It is possible and not to complex using a programming
>>> language. The following code does what you want:
>>>
>>> #!/usr/bin/env python
>>>
>>> from re import compile
>>> from sys import stdin, stdout
>>>
>>> regex = compile(
>>> """(<PortalOBj portalFlags="16" numbOfRows="1"
>>> initialRow=")\d+(">)""")
>>> index = 16
>>>
>>> def create_subtitute_function():
>>> def substitute(match):
>>> global index
>>> replacement = "{}{}{}".format(match.group(1), index,
>>> match.group(2))
>>> index += 1
>>> return replacement
>>>
>>> return substitute
>>>
>>> text = regex.sub(create_subtitute_function(), stdin.read())
>>> stdout.write(text)
>>>
>>> I attached a bundle which contains a command that uses the above code. To
>>> install the bundle just double click it. You can apply the substitution on
>>> some text by pressing the key combination “^⌥⌘R”. Since the above is my code
>>> I
>>> would be careful when you use the command though :).
>>>
>>>> For example, I want the first sequential number to be 16.
>>>>
>>>> Here is a screen capture:
>>>>
>>>> Thanks!
>>>
>>> Kind regards,
>>> René
>>>
>>> P.S.: You can create a screenshot of a single window by using the key
>>> combination “⇧⌘4”. After that just hit “Space” and a click on the window you
>>> would like to make a screenshot of. This way you do not need to crop the
>>> picture.
>>>
>>> 
>>>
>>> _______________________________________________
>>> textmate mailing list
>>> textmate at lists.macromates.com
>>> http://lists.macromates.com/listinfo/textmate
>>
>>
>
>
More information about the textmate
mailing list