[CS3] GREP search first ocurence only

Hi!
I have an alphabetical list:
Asdfg
Awert
Bsdfg
Bwsd
Csdfg
Cwsd
etc
Is it possible to grep search first occurrences of A:s, B:s, C:s etc and then apply some formatting?
ie search first line that starts with A, apply formatting, ignore following lines witch start with letter A and search first line that starts with B, apply same formatting...
Thanks

Oh allright, this one sets the paragraph style "Index head" as well.
nextpar = app.activeDocument.selection[0].paragraphs[0];
do
nextletter = nextpar.contents[0].toUpperCase();
nextpar.insertionPoints[0].contents = nextletter+"\r";
nextpar.insertionPoints[0].appliedParagraphStyle = "Index head";
while (nextpar.contents.length > 0 && nextpar.contents[0].toUpperCase() == nextletter)
  if (nextpar == nextpar.insertionPoints[-1].paragraphs[0])
   exit(0);
  nextpar = nextpar.insertionPoints[-1].paragraphs[0];
} while (nextletter < "Z");
It's surprisingly slow, on a 3 column/4 page index... but it still beats doin' it manually, 'cause you can sit back and clean your fingernails or something like that.

Similar Messages

  • CS3: grep search to replace part of a string

    Can I do a grep search for a string of text but only replace a portion of the string while leaving the remainder intact?
    iMac G5, OS 10.5.5

    In addition to Eric:
    Find "some search string", Replace "some replacement string " also replaces part of the string, not touching anything...
    But the GREP search has two advantages: First, if you define formatting in the Replace field (italics, superscript, a character style), only the 'search'/'replacement' part will be affected, rather than the entire found string (as in regular search).
    The second big advantage is you can use any regular GREP single character wildcard in the 'left' and 'right' (matching-but-not-marking) parts. A few useful examples: '\d' (digit), '\l' and '\u' (lowercase and uppercase), '.' (any character), or even '[a-f]' (lowercase 'a' to 'f'). The only limitation is that you cannot use the once, zero-or-more, or once-or-more modifiers -- the strings must have a fixed length. FYI, those three modifiers are, respectively, ?, *, and +.
    This restriction does not apply to the 'middle' string, the one you are going to replace anyway -- use whatever GREP you want.

  • [AS CS3] Search first occurence then next search item

    Hi!
    I have a 1000+ page book. I need to change several (2000+) names to character style but only first occurence of that name and then search first occurence of next name. Names are on a text file which i read to AS but if i use
    set myFoundItems to change text
    it searches all occurences of find text and changes to character style.
    What i need is a script that searches first occurence of name "AAA", changes that to character style "Whatever" and then proceeds to search name "BBB" and changes that too. Only first occurences of search.
    It would be wery handy if the second search (BBB) would start right after the "AAA" and not from the beginning of teh story.
    Any ideas?
    Thanks

    On 19/2/08 9:39 PM, "Jukka Lauhalahti" <[email protected]> wrote:<br /><br />> if one could just exit the seach/replace loop after found one item and search<br />> next item in the list from that position would speed the script...<br /><br />It would, but you can't...<br /><br /><br />-- <br />Shane Stanley <[email protected]>

  • GREP: Apply to first instance only

    Hi,
    Another GREP question for you if you can help.
    Situation is trying to apply a character style before a specific word, i.e. Applied Character Style "four".......
    There are 4 words (lets call them: one, two, three, four) which are a common occurence and will always appear after the text that needs to have the applied character style, but my issue crops up when one of the four words appears twice or more times in one line and the GREP applies it to the 2nd or more instance of this word, i.e. Applied Character Style "one" random text "one"
    I am using these greps in the same paragraph style:
    ^.*(?= one)
    ^.*(?= two)
    ^.*(?= three)
    ^.*(?= four)
    I only want to have the GREP to apply to the first instance only - hope this stuff above makes sense?
    Thanks

    It's because GREP is greedy, by default.
    The expression
    ^.*(something more)
    will always grab as much characters as possible, before processing "something more": effectively, it will match anything up to the very last occurrence of that text.
    You can instruct GREP to not match greedy by adding a '?' after the repeat command code:
    ^.*?(?=\b(one|two|three|four)\b)
    -- the question mark can be added to each of the "repeat-this" codes: +, *, and ? ("!??" would mean: "match '!' zero or once, but uses the shortest match possible).
    I condensed your list of four commands into one, because it seems to me that all of them would get matched in turn, leading to problems when you have both "one" and "two" in the same sentence. With your GREPs, first all up to "one" would get marked, then all up to "two". Mine uses 'whatever comes first'.
    (I also added 'word boundaries' \b before and after, because you wouldn't want to match the 'one' in "Mr. Jones".)

  • Script or GREP search line for missing quotation marks (opening or closing)

    Hi there,
    I've being trying to figure out a GREP search that will help me find quotations that haven't been opened or closed properly. Does anyone know if there exists a script that will mark/help me find the quotation marks that incorrectly stand alone? A GREP search line would be fine too.
    Following is an example - just to make sure I made myself clear:
    'why is the closing quotation mark missing after the question mark? I asked.
    'I don't know, this line seems to be fine, with opening and closing quotation mark,' I answered.
    Although this line is missing an opening quotation mark.'
    Hope somebody can help me, I'm pretty sure I'm not the first person searching for a solution on this issue - sorry, I'm not to bright with scripting or GREP.
    Thnx.
    Gijs

    As you say, it's not waterproof, but it is really helpfull, thanks. The unclosed quotation are easy to find this way.
    In Dutch we mainly use single quotation marks (double quotation marks are only used for quotations within quotations). This brings an extra dimension to the issue, since the apostrophe and single quotation mark are the same character. So a phrase like ' I'm having problems finding unopened quotations' with your GREP suggestion will mark the apostrophe in I'm as the closing quotation mark.
    So what I'll do is:
    1. find unclosed quotations ‘[^’]+?‘ and mark them with a character style WARNING;
    2. GREP search ’[^‘]+?’ two following closing quotation marks and make them C=100;
    3. GREP search ’[^‘’]+?’ the correct quotations and mark it all K=100;
    4. Do a regular search for '^$ any apostrophe/quotation mark followed by a letter and mark them all K=100;
    5. Do a regular search for any closing quotation mark left in C=100 and manually WARNING-mark the ones that need to be looked at by the editor.
    Step 4 is a bit tricky since any error like 'I agree,'he said (no space after quotation mark) will be marked back to K=100 as well, but those errors I'll probably notice since they're underlined by the grammar control option.
    Thanks again for the help.

  • Excluding a character from "Change to" box that is in "Find what" box in GREP search

    Hello all! I am a first time poster but have been lurking around the forums for a few months. I'm trying to produce an InDesign document for a book I'm putting out, and there is a section where I have the following text:
    |  TAB  |1.|  TAB  |Lorem ipsum dolor etc.
    The text doesn't literally say tab, I jsut wanted to highlight that there is a tab of white-space on either side of the number for the line. This occurs numerous times in numerous chapters in the endnotes section. I want to remove the tabs so that the result is:
    1. Lorem ipsum dolor etc
    2. Lorem ipsum dolor etc
    3. etc etc
    I have identified that the way to find these sections is to use the GREP search function with \t\d+.\t. The + is there because the numbers go into the double digits in most chapters for the references. However, I do not want to remove the numbers, just the tabs. Is there any way to add an exclude feature to the "Change to" window of the search function? I've tried just leaving it as \d., but that literally changes the text to
    \d. Lorem ipsum dolor etc
    That's not good. I'm trying to avoid having to do all of this by hand, and of course by the time I get a resolution I'll probably have been better off doing it manually, but I'm looking toward the future and trying to ascertain the best way of streamlining such a process short of not having that kind of format in the first place when receiving the file from my employer
    Many thanks for your advice,
    David

    Peter,
       Just to affirm your assistance, this worked for me. I still don't understand the advanced search features perfectly, but I got the formatting fixed without having to sift through it manually. I found that replacing with "$2. " (minus the quotes) worked well. However, I noticed that searching for (\d). would turn up a digit followed by ANY kind of punctuation, not just a period. I assume therefore that . must mean something different in GREP than I'm thinking it does. I just wanted to find any digit before a full-stop. At any rate, that is something I can find a table of GREP search terms for. I didn't understand the $2 thing until I monkeyed with it. I'm typing now for future generations of newbies that might stumble upon my post. The $2 ignores the second character in your "Find what" field. So for example, if instead you had two tabs then a digit then a tab, you could search:
    Find what: (^\t)(\t)(\d)(\t)
    Change to: $3.
    This would take any occurrence of two tabs, a number, and a tab and replace with a period, ignoring and therefore not changing at all the number. The $3 is saying "ignore the third search term", in this case, the \d.
    A better approach would be to use +. This means "any time you see one or more occurrences of the searched-for character". This would look something like:
    Find what: (^\t+)(\d+)(\t+)
    Change to: $2.
    Here you are saying "Any time you see one or more tabs followed by one or more numbers and then followed by one or more tabs, ignore the digit, delete the tabs before and after, and add a full stop after the number. This is a very powerful search feature, once you understand what you're doing anyway. Hope that is helpful to someone at some point.

  • Adding GREP search to FindChangeByList script in CS4

    I'm trying to remove numbers from a baseball box score pulled from the Internet.
    The file has 10 numbers across separated by tabs and I only need six of the numbers not all 10
    St. Lucie Mets
    Player,Pos         AB     R     H     2B     3B     HR     RBI     BB     SO     AVG
    Daniel Muno, 2B    4     1     1     0     0     1     1     0     2     .259
    Robbie Shields, DH     4     0     2     1     0     0     0     0     1     .471
    This GREP search works in FindChange in InCopy/InDesign (using CS4)
    (\t\d) (\t\d) (\t\d) (\t\d) (\t\d) (\t\d) (\t\d) (\t\d) (\t\d)
    This works in the Change field
    $1 $2 $3 $7 $8 $9
    However, when I try to add this to a FindChangeByList script, it generates an error. So my syntax, logic or both is flawed.
    What should I do to fix it?
    grep    {findWhat:"(\t\d) (\t\d) (\t\d) (\t\d) (\t\d) (\t\d) (\t\d) (\t\d) (\t\d)"}    {changeTo:"$1 $2 $3 $7 $8 $9"}    {includeFootnotes:true, includeMasterPages:true, includeHiddenLayers:true, wholeWord:false} Find all double spaces and replace with single spaces.
    Thank you,
    Keith

    Hi Jongware,
    Thank you for the reply.
    I tried the double slashes and get an Error 25. So something I'm doing in the Search/Replace portion isn't working.
    However, I did have success with changing a style by using a GREP search. The line below works with the double slashes, just not the Find/Change lines:
    grep
    {findWhat:"\\t\\d\\t\\d\\t\\d\\t\\d\\t\\d\\t\\d\\t\\d\\t\\d\\t\\d"}
    {appliedParagraphStyle:"Z BB Box Exp Batting 07T"}
    {includeFootnotes:true, wholeWord:false, caseSensitive:false}
    //Changes style

  • How do i limit my searches to google only

    No matter what I search for, no matter that the Q bar says google, the seach only comes back in yahoo
    I don't like or want to use or see yahoo searches.
    How can I totally block all searches on yahooo and limit my searches to google only?

    Please read this whole message before doing anything.
    This procedure is a test, not a solution. Don’t be disappointed when you find that nothing has changed after you complete it.
    Step 1
    The purpose of this step is to determine whether the problem is localized to your user account.
    Enable guest logins* and log in as Guest. For instructions, launch the System Preferences application, select Help from the menu bar, and enter “Set up guest users” (without the quotes) in the search box. Don't use the Safari-only “Guest User” login created by “Find My Mac.”
    While logged in as Guest, you won’t have access to any of your personal files or settings. Applications will behave as if you were running them for the first time. Don’t be alarmed by this; it’s normal. If you need any passwords or other personal data in order to complete the test, memorize, print, or write them down before you begin.
    Test while logged in as Guest. Same problem(s)?
    After testing, log out of the guest account and, in your own account, disable it if you wish. Any files you created in the guest account will be deleted automatically when you log out of it.
    *Note: If you’ve activated “Find My Mac” or FileVault, then you can’t enable the Guest account. The “Guest User” login created by “Find My Mac” is not the same. Create a new account in which to test, and delete it, including its home folder, after testing.
    Step 2
    The purpose of this step is to determine whether the problem is caused by third-party system modifications that load automatically at startup or login.
    Disconnect all wired peripherals except those needed for the test, and remove all aftermarket expansion cards. Boot in safe mode* and log in to the account with the problem. The instructions provided by Apple are as follows:
    Be sure your Mac is shut down.
    Press the power button.
    Immediately after you hear the startup tone, hold the Shift key. The Shift key should be held as soon as possible after the startup tone, but not before the tone.
    Release the Shift key when you see the gray Apple icon and the progress indicator (looks like a spinning gear).
    Safe mode is much slower to boot and run than normal, and some things won’t work at all, including wireless networking on certain Macs.
    The login screen appears even if you usually log in automatically. You must know your login password in order to log in. If you’ve forgotten the password, you will need to reset it before you begin.
    *Note: If FileVault is enabled, or if a firmware password is set, you can’t boot in safe mode.
    Test while in safe mode. Same problem(s)?
    After testing, reboot as usual (i.e., not in safe mode) and verify that you still have the problem. Post the results of steps 1 and 2.

  • GREP Search - Save to file

    Hello,
    I wonder if it's possible to do a GREP search in an Indesign CS3 document, then save the results to file (like .csv).
    Thanks
    Marco Lugli

    Sure it is possible.
    Assign your found texts to a variable, write the variable to a text file.
    myVar = "";
    // add text to variable
    myVar += "text\tsecondtext\n";
    newFile = new File ("~/Desktop/mycsvfile.csv");
    newFile.open('w');
    newFile.write(myVar);
    newFile.close();

  • GREP searches from top of story?

    I've set up a GREP expression to find some material I need to delete, but I need to check each instance before I actually delete it. Unfortunately, the GREP expression occasionally finds text that I want to keep, so it's not bullet proof.
    When I first set up my GREP expression, it worked fine -- it would find the next occurrence of the expression after the insertion point when I type a keyboard shortcut for the "GREP Find Next" command.
    Suddenly, and I don't know why, it changed its behavior so that instead of finding the next instance of the GREP expression after the current insertion point, it finds the first occurrence in the story, which is pages away from where I want to be working.
    Is there some way to tell GREP (or any Find search) to look from the insertion point rather than from the top of the document? It seems to have both behaviors as options, but I don't know why it chooses one over the other.

    Well, having done a little more work, I think the problem may result from a look-behind that I added to the beginning of the string.
    Basically, I have about 500 abstracts, each has a long list of authors, with punctuation as follows: SMITH, J.S., affiliation, email; JONES, S.J., affiliation, email; etc.
    I need to get rid of the affiliations, emails, and semicolons; keep the Author name and initials; and apply a script of mine to put the last name in title case, resulting in
    Smith, J.S., Jones, S.J., etc.
    There are some typos and unusual names, so I need to do this one by one rather than with a global search, but I want to be efficient. I want to run my case-change script on the last name, then trigger a GREP search that will select the affiliation and email, which I can then look over to confirm, then delete. (Affiliation may be full of all kinds of punctuation).
    Currently I'm using
    .+?[;\r]
    ...which selects from the insertion point to the next semicolon or the end of the paragraph, whichever comes first. This one works, but I first need to move the insertion point past the initials, which takes more keystrokes.
    Since the author initials always end with a period followed by a comma, but I don't want to delete those, I thought I'd add a look-behind so that the GREP would select all the text from (but not including) a period-comma to (and including) the next semicolon:
    (?<+\.,).+?[;\r]
    The problem is that instead of searching from the insertion point, it goes to the beginning of the file and grabs the first occurrence of the pattern, which is the first already-corrected address (since there are no semicolons left, it selects from just after the first author's initials to the paragraph end).
    Anyway, if anyone has some ideas (including "sorry, GREP just behaves this way with look-behinds") I'd appreciate any help.

  • GREP - search for anything except one character

    Trying to figure out if I can say this in GREP or not....
    I want to search for any character that's in a Superscript character style except for registration-mark symbols.  Is there a way to exclude one character from a search?
    Thanks, Phyllis

    Absolutely. Remember the '^' character that indicates 'start of paragraph'? Well ... apparently whoever devised GREP ran out of useful characters, because it's used again in the "exclude" group. It works like this:
    [0-9fuzzy]
    looks for a single character out of the set '0' to '9' (inclusive), 'f', 'u', 'z', or 'y'. Throwing in the hat reverses the query:
    [^0-9fuzzy]
    looks for any old single character except those in the set.
    The Registered mark has a shortcut of its own in the regular Find -- ^r -- so presumably it's "~r" in GREP mode. If not, copy-and-paste one from your text. So your GREP search should be (with Superscript formatting)
    [^~r]
    This marks only the next non-registered character; to find longer strings you can safely use
    [^~r]+
    -- which translates into "any string in superscript, one character or longer, and not containing the Registered mark". Yes, the short version is a bit easier to type.

  • Why is my ping so high in the first column only when i do a tracert?

    When i do a tracert my ping is really high in the first column only on each hop and then it drops to a respectable level. Does anyone know why it is like this on my 4G LTE device? On my dsl when i do the same ping test its pretty even across on each hop. This is what im seeing when i do a ping test on my 4G LTE device.
    tracert www.yahoo.com
    Tracing route to ds-any-fp3-real.wa1.b.yahoo.com [98.139.183.24]
    over a maximum of 30 hops:
      1     9 ms     3 ms     3 ms 
      2  1101 ms    34 ms    38 ms  193.sub-66-174-20.myvzw.com [66.174.20.193]
      3   169 ms    55 ms    52 ms  49.sub-69-83-13.myvzw.com [69.83.13.49]
      4    52 ms    56 ms    54 ms  194.sub-69-83-13.myvzw.com [69.83.13.194]
      5   179 ms    58 ms    57 ms  101.sub-66-174-17.myvzw.com [66.174.17.101]
      6   168 ms    57 ms    60 ms  TenGigE0-0-1-0.GW14.BOS4.ALTER.NET [152.179.2.97
      7   181 ms    58 ms    57 ms  0.ge-0-3-0.XL3.BOS4.ALTER.NET [152.63.17.130]
      8   170 ms    59 ms    58 ms  0.ae3.BR1.NYC1.ALTER.NET [152.63.18.222]
      9   177 ms    67 ms    59 ms  ae11.edge2.NewYork.Level3.net [4.68.62.41]
    10     *        *        *     Request timed out.
    11     *        *        *     Request timed out.
    12     *        *        *     Request timed out.
    13   192 ms    49 ms    60 ms  ae-4-90.edge4.NewYork1.Level3.net [4.69.155.210]
    14   185 ms    51 ms    60 ms  YAHOO-INC.edge4.NewYork1.Level3.net [4.28.130.82
    15   380 ms    73 ms   129 ms  ae-5.pat2.bfz.yahoo.com [216.115.96.67]
    16   339 ms    69 ms   146 ms  ae-4.msr2.bf1.yahoo.com [216.115.100.73]
    17   215 ms   152 ms    80 ms  xe-5-0-0.clr2-a-gdc.bf1.yahoo.com [98.139.128.11
    18   289 ms   217 ms   217 ms  et-17-1.fab6-1-gdc.bf1.yahoo.com [98.139.128.47]
    19   187 ms    87 ms    79 ms  po-14.bas2-7-prd.bf1.yahoo.com [98.139.129.227]
    20   474 ms   314 ms   294 ms  ir2.fp.vip.bf1.yahoo.com [98.139.183.24]
    Trace complete.

    hi there
    see you never got an answer from vzw
    take it you still have the high ping or no ping  in my cases
    your doing better then i
    seems the lte is getting bad with this problem over time as my connection times out causing half loaded web pages  and lots of buffering in video playback
    i have had 3 tickets in the past 3 month to try and get this fixed  but they say cant find anything wrong
    and noone else is having the problem here are a few things that seems to have helped me out
    1  increase your TTL  time till live 
    this tells your computer to wait a bit longer before giving up and requesting that a packet of info be resent
    2 in your computers network settings and reg you can change packet size to a smaller number and add a stop bit to the packet with a time stamp on each packet back in the old days  this was what v 90 modems did to get v92 speeds and did help with noisy copper wire dial up and seems to help here too
    http://www.dslreports.com/drtcp
    is a tool that will help you change your computer setting and reg
    use drtcp and the results from this page
    http://www.dslreports.com/tweaks
    xp win 7 win 8 this will help.  vista did it right and dynamically change these settings on the fly and all of step 2 is unnecessary
    remember your original settings write them down so you can go back to them should you have problems
    also make a restore point and backup your reg before tinkering with windows os
    send a private message to me if you need more help  or get a computer savvy friend to help you out if you need
    3  if your signal noise is under 4G  -100bd the lower the better,  there is a way to set your android to lte only  mode.
    more likely to lose data and voice in weak signal areas but great if tethering or hotspotting at home
    dail *#*#4636#*#* this is a back door to your android software and is open source code by android os  not vzw
    and will not unlock your phone voiding warranties. be warned though if you set things wrong in here
    you can make more problems  be very sure what you change  and do one thing at a time so you remember and can  dial in again and change it back should you disable something you need. fyi each time you dial in the number it resets to vzw default setting and may look like it did not save setting but it doz. till you dial in again.
    good luck
    ron
    ps im not a vzw rep in any way other then a fellow customer not getting answers.

  • Mobile Accounts: Sync new accounts first time only.

    When a user logs into a computer for the first time it is set to create a mobile account, however we don't use home directory syncing because the typical size of our 200 users' home directories is over 100Gb which makes syncing home directories not viable.
    It would be very handy, though, to have it sync the first time only at login so that our user directory template is automatically copied over which will save a lot of time setting up new users.
    Accoring to Apple's User Management v10.5 documentation on page 203:
    +"To initially sync local and network homes so that the network home folder replaces the local home folder, choose “Create home with default sync settings."+
    (This refers to Workgroup Manger -> Preferences -> the Mobility pane -> Account Creation -> Creation tab)
    After testing, though, it is quite clear that this does not work - at least on my setup. I can get it to work by going to the Rules tab in the Mobility pane and ticking the sync at login and logout, but this syncs every time on both login and logout, which is not what I want to achieve.
    Any ideas?

    I also mentioned, that some Safari-Extensions I installed on the iMac are missing now on my iMac-Profile. I also mentioned, that some settings for 1Password are reset to default values.

  • I was making a movie on iMovie, and was trying to use the green screen to make a split screen. I pressed on the green screen button, but the second clip didn't play next to the first, and only the audio played.

    I was making a movie on iMovie, and was trying to use the green screen to make a split screen. I pressed on the green screen button, but the second clip didn't play next to the first, and only the audio played. I tried again with some different clips and some worked and some didn't. This hasn't happened before. What should I do? (I am using iMovie '09)

    No guarantess but try smc and pram resets,

  • [CS3] GREP-Problem with Anchored Objects

    Hi,
    I've the following problem:
    Lines beginning with a, b, c etc. should be formatted equally, so I use the following GREP:
    Search:
    ^([a-z])(\.??)([ \t])
    Replace:
    $1.\t
    Now there are some abc lines, which begin with an anchored object, so I tried:
    Search:
    ^(~a*?[a-z])(\.??)([ \t])
    Replace:
    $1.\t
    But with this, the anchored object is deleted. Is this a bug or am I doing something wrong?
    Thanks
    Tobias

    That's a known bug -- Dave Saunders discovered it, to his surprise, I might add. There seems to be no reason for it.

Maybe you are looking for

  • Inventory Data Upload for Telecomunication Industry

    Hello Would any one could tell me what is the best way to upload EBS inventory data uploding for a telecommunication company. Makshud

  • *LSMW-Routing Issue*

    Hi Gurus, I've created an Object in LSMW for Routing data Upload in Standard method.. 1. Header 2. Operations 3. Material allocation 4. Component Assignment. After throught testing, I've uploaded the data. Bust 30 % of the upload data is missing with

  • Upgrade to CRM 2005 while keeping EP 6.0

    Dear Sirs, I have some question about the consequences of an upgrade to CRM 2005. Does anyone know how if this will affect the portal requirements? I work primarily with portals, and have little knowledge of CRM. Please feel free to give any input su

  • Recovery of solvents in process industry

    Dear All, We have a scenario where say methanol is a raw material for producing item X and during this production process some quantity of methanol is recovered which will be recirculated with fresh methanol in producing item X.  At some point of tim

  • Return a collection

    I am having trouble coming up with a plan for search functionality for my UI. I have an application that talks to a middle teir in .NET, the middle tier accesses the Oracle database. People are going to want to search by multiple fields that come fro