If you have a string of text in a Variable STRNG = MyTestString
and (substr STRNG 7) returns 'String'
.... how can I get 'MyTest' from STRNG.
I'll proably smack myself if I get an answer. But I can't find any function
that will do this.
Thanks in Advance!
That doesn't work (at least for me). I don't want the end part of the string.
But the begining part (ie: reverse search). I want to get a number of
characters starting from the END of the string going backwards.
Forget it... you are Correct (somewhat). Do NOT use a Zero or a Comma. So
your example should read:
substr STRNG 1 6
Then it wll work!!! Thanks!
I've an old Autocad Lisp book from R12 time. Doesn't show that :(
I should have known not to put in the comma.
I've just been in the visual basic ngs, and the VB equivalent is
BUT VB's start is zero, so I made a quick assumption that your post required the
I should have counted the number of characters to the start of "STRING"
That would have told me Lisp would have started at 1
Mr. B wrote:
NP... butt in away.
My R12 book (dated May 11, 1992, publication 100191-01) has SubStr on page
155. I guess I've just have never used it before in the way I needed it now.
P158 has TblSearch, Terpri and TextBox on it (my book that is).
Interesting... Just imagine, back in the good old Daze, we use to get books!!!
Actually they were a royal pain in the A** when you ended up with 10 or more
copies of every firgging thing! Times have changed!
I think that would be a bit harder. You'd have to somehow figure out how many
characters into the Existing String, etc.
I originally wrote that simply because people were Inserting Xrefs into their
drawings. And also because of some MAC Cadd files I'd get (exported). So I
wanted something to clear out the beginning crap of layers (same thing with
So I never intended it to be a search replace string kind of thing.
It would probably not be too much of a hassle if I had the Code to do a proper
search of a string in a Layer name.
Thanks, Kitty, but the dwg I'm working with at the moment has some
names that start with "TTL-0$" that is a leftover from an xref and a
partial string replace from Mr. B's lsp. It seems both of these layer
rename functions choke up on trying to find/replace a string that has
a dollar sign (I think) at the end. It seems kind of stupid since it
was acad that put those dollar signs in there.
It is probably something really anal in lisp like you just cannot end
a string with a dollar sign, or something equally dopey.
Happy Trails To You
Did you try a search string that "ENDS" with a dollar sign? I also
had no problems with strings with dollar signs in the middle.
It may be a problem with a resulting layer name ending up identical to
a layer that's already there. What would you expect in that case?
The dwg I was fixing has quite a few layers with a lot of
similar-looking layer names, so it's not easy to work with to resolve
the problem, and I'm onto editing video now for the rest of the day
anyway, so I'll have a closer look at it again later.
Your lisp gave an error after entry of the replace parameter, while
the one Kitty supplied gave an error after entry of the search
parameter. It was mostly because of that, not yours, that I guessed
at a quick assumption about the dollar sign.
See you later.
Happy Trails To You
If I remember come monday at the office... several years ago I wrote a
lisp to search and replace acad text... I suppose I can look it up and
refresh my memory on how I handled search and replace, and post that
part of the code....
I don't understand because I've replaced many layers that DO have a dollar
sign in them. I tried using your example:
Ran my Lisp and got back:
I even tried it with three $$$'s... worked fine
How about some examples of your troubled Layers (cut & paste them).