<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic String Manipulation Issues in Python in Python Questions</title>
    <link>https://community.esri.com/t5/python-questions/string-manipulation-issues-in-python/m-p/437781#M34381</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Hello all,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I'm having trouble with a script that I'm writing. I want to iterate through an FC's fields, get each field name and add to a string of field names seperated by semicolons to be used as an argument for:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;gp.deletefield(InFC, delFields).&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;But! I first want to remove from the string the 4 fields that I want to keep, i.e. OBJECTID,Shape, Layer, and Shape_Length.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;As can be seen by the message output, I can iterate through the fields, get their names, add each name to a string with ";" inbetween, and print this final string. However, once I try to use&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;str.replace(old, new[, count])&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;to remove the items I wish to remove, the script terminates with no error message.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Any ideas??&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I'm using ArcEditor 9.3.1 sp2&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;__________________________________________________ ____&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;oidFld = "OBJECTID;"&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;shpFld = "Shape;"&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;lyrFld = "Layer;"&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;lenFld = "Shape_Length"&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;fldList = gp.ListFields(cadToFC)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;inputs = ''&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;gp.addmessage("got fldList")&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;for fld in fldList:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;fldName = fld.name&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;gp.AddMessage(fldName)&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;inputs = inputs + fldName+";"&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;delfields = inputs[:-1]&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;gp.addmessage("\n" + delfields + "\n")&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;if delfields.find(oidFld) != -1:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;gp.addmessage("found oidfld")&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;delFields.replace(oidFld, "")&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;gp.addmessage("removed oid")&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;if delfields.find(shpFld) != -1:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;gp.addmessage("found shpfld")&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;delFields.replace(shpFld, "")&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;gp.addmessage("removed shpfild")&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;if delfields.find(lyrFld) != -1:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;gp.addmessage("found lyrfld")&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;delFields.replace(lyrFld, "")&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;gp.addmessage("removed lyrfld")&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;if delfields.find(lenFld) != -1:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;gp.addmessage("found lenfld")&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;delFields.replace(lenFld, "")&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;gp.addmessage("removed lyrfld")&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;gp.addmessage("Edited: " + delfields + "\n")&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;__________________________________________________ ______________________&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Messages generated:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;getting field list from WINNIPEGOSIS_SUB_TRANS_dxf&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;got fldList&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;OBJECTID&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Shape&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Entity&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Handle&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Layer&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;LyrFrzn&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;LyrLock&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;LyrOn&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;LyrVPFrzn&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;LyrHandle&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Color&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;EntColor&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;LyrColor&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;BlkColor&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Linetype&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;EntLinetype&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;LyrLnType&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;BlkLinetype&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Elevation&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Thickness&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;LineWt&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;EntLineWt&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;LyrLineWt&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;BlkLineWt&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;RefName&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;LTScale&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;ExtX&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;ExtY&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;ExtZ&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;DocName&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;DocPath&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;DocType&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;DocVer&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Shape_Length&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;OBJECTID;Shape;Entity;Handle;Layer;LyrFrzn;LyrLock ;LyrOn;LyrVPFrzn;LyrHandle;Color;EntColor;LyrColor ;BlkColor;Linetype;EntLinetype;LyrLnType;BlkLinety pe;Elevation;Thickness;LineWt;EntLineWt;LyrLineWt; BlkLineWt;RefName;LTScale;ExtX;ExtY;ExtZ;DocName;D ocPath;DocType;DocVer;Shape_Length&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;found oid&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Mon, 14 Feb 2011 15:05:06 GMT</pubDate>
    <dc:creator>KurtSargent</dc:creator>
    <dc:date>2011-02-14T15:05:06Z</dc:date>
    <item>
      <title>String Manipulation Issues in Python</title>
      <link>https://community.esri.com/t5/python-questions/string-manipulation-issues-in-python/m-p/437781#M34381</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Hello all,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I'm having trouble with a script that I'm writing. I want to iterate through an FC's fields, get each field name and add to a string of field names seperated by semicolons to be used as an argument for:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;gp.deletefield(InFC, delFields).&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;But! I first want to remove from the string the 4 fields that I want to keep, i.e. OBJECTID,Shape, Layer, and Shape_Length.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;As can be seen by the message output, I can iterate through the fields, get their names, add each name to a string with ";" inbetween, and print this final string. However, once I try to use&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;str.replace(old, new[, count])&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;to remove the items I wish to remove, the script terminates with no error message.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Any ideas??&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I'm using ArcEditor 9.3.1 sp2&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;__________________________________________________ ____&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;oidFld = "OBJECTID;"&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;shpFld = "Shape;"&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;lyrFld = "Layer;"&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;lenFld = "Shape_Length"&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;fldList = gp.ListFields(cadToFC)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;inputs = ''&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;gp.addmessage("got fldList")&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;for fld in fldList:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;fldName = fld.name&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;gp.AddMessage(fldName)&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;inputs = inputs + fldName+";"&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;delfields = inputs[:-1]&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;gp.addmessage("\n" + delfields + "\n")&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;if delfields.find(oidFld) != -1:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;gp.addmessage("found oidfld")&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;delFields.replace(oidFld, "")&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;gp.addmessage("removed oid")&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;if delfields.find(shpFld) != -1:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;gp.addmessage("found shpfld")&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;delFields.replace(shpFld, "")&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;gp.addmessage("removed shpfild")&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;if delfields.find(lyrFld) != -1:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;gp.addmessage("found lyrfld")&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;delFields.replace(lyrFld, "")&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;gp.addmessage("removed lyrfld")&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;if delfields.find(lenFld) != -1:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;gp.addmessage("found lenfld")&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;delFields.replace(lenFld, "")&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;gp.addmessage("removed lyrfld")&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;gp.addmessage("Edited: " + delfields + "\n")&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;__________________________________________________ ______________________&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Messages generated:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;getting field list from WINNIPEGOSIS_SUB_TRANS_dxf&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;got fldList&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;OBJECTID&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Shape&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Entity&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Handle&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Layer&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;LyrFrzn&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;LyrLock&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;LyrOn&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;LyrVPFrzn&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;LyrHandle&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Color&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;EntColor&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;LyrColor&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;BlkColor&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Linetype&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;EntLinetype&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;LyrLnType&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;BlkLinetype&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Elevation&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Thickness&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;LineWt&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;EntLineWt&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;LyrLineWt&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;BlkLineWt&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;RefName&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;LTScale&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;ExtX&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;ExtY&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;ExtZ&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;DocName&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;DocPath&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;DocType&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;DocVer&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Shape_Length&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;OBJECTID;Shape;Entity;Handle;Layer;LyrFrzn;LyrLock ;LyrOn;LyrVPFrzn;LyrHandle;Color;EntColor;LyrColor ;BlkColor;Linetype;EntLinetype;LyrLnType;BlkLinety pe;Elevation;Thickness;LineWt;EntLineWt;LyrLineWt; BlkLineWt;RefName;LTScale;ExtX;ExtY;ExtZ;DocName;D ocPath;DocType;DocVer;Shape_Length&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;found oid&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 14 Feb 2011 15:05:06 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/string-manipulation-issues-in-python/m-p/437781#M34381</guid>
      <dc:creator>KurtSargent</dc:creator>
      <dc:date>2011-02-14T15:05:06Z</dc:date>
    </item>
    <item>
      <title>Re: String Manipulation Issues in Python</title>
      <link>https://community.esri.com/t5/python-questions/string-manipulation-issues-in-python/m-p/437782#M34382</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Two options:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;1. Use a try except loop:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;fieldList = gp.listfields(fc)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;for field in fieldList:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; try:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; gp.DeleteField(fc, field.name)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; except:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; print "Couldn't delete " + field.name #because it was OBJECTID, SHAPE, SHAPE_AREA, etc.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;2. &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;dsc = gp.describe(fc)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;keepList = [dsc.oidfieldname, dsc.shapefieldname, "MY_FAV_FIELD", dsc.shapefieldname + "_Length", dsc.shapefieldname + "_Area"]&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;deleteString = ""&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;fieldList = gp.listfields(fc)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;if field.name not in keepList:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; deleteString = deleteString + field.name + ";"&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; gp.DeleteField(fc, deleteString[:-1])&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 14 Feb 2011 17:01:33 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/string-manipulation-issues-in-python/m-p/437782#M34382</guid>
      <dc:creator>ChrisSnyder</dc:creator>
      <dc:date>2011-02-14T17:01:33Z</dc:date>
    </item>
    <item>
      <title>Re: String Manipulation Issues in Python</title>
      <link>https://community.esri.com/t5/python-questions/string-manipulation-issues-in-python/m-p/437783#M34383</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Two options:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;1. Use a try except loop:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;fieldList = gp.listfields(fc)
for field in fieldList:
&amp;nbsp;&amp;nbsp; try:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; gp.DeleteField(fc, field.name)
&amp;nbsp;&amp;nbsp; except:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; print "Couldn't delete " + field.name #because it was OBJECTID, SHAPE, SHAPE_AREA, etc.&lt;/PRE&gt;&lt;BR /&gt;&lt;SPAN&gt;2. &lt;/SPAN&gt;&lt;BR /&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;dsc = gp.describe(fc)
keepList = [dsc.oidfieldname, dsc.shapefieldname, "MY_FAV_FIELD", dsc.shapefieldname + "_Length", dsc.shapefieldname + "_Area"]
deleteString = ""
fieldList = gp.listfields(fc)
if field.name not in keepList:
&amp;nbsp;&amp;nbsp; deleteString = deleteString + field.name + ";"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; gp.DeleteField(fc, deleteString[:-1])&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 11 Dec 2021 19:36:05 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/string-manipulation-issues-in-python/m-p/437783#M34383</guid>
      <dc:creator>ChrisSnyder</dc:creator>
      <dc:date>2021-12-11T19:36:05Z</dc:date>
    </item>
    <item>
      <title>Re: String Manipulation Issues in Python</title>
      <link>https://community.esri.com/t5/python-questions/string-manipulation-issues-in-python/m-p/437784#M34384</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Thanks Chris,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I'm still puzzled as to why I could't find/replace with str.Replace(old, new,[]), or why all the other things I tried failed, but I've combined your two suggestions and it works like a charm.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Cheers!!&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;(p.s. I don't see an option to mark question as answered but maybe you can't do that in the new forums?)&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;dsc = gp.describe(cadToFC)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; keepList = [dsc.oidfieldname, dsc.shapefieldname, "Layer", dsc.shapefieldname + "_Length", dsc.shapefieldname + "_Area"]
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; deleteString = ""
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; fldList = gp.ListFields(cadToFC)

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; gp.addmessage("got fldList")

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for fld in fldList:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if fld.name not in keepList:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; gp.addmessage(fld.name+ "...not in keeplist")
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; deleteString = deleteString + fld.name + ";"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; gp.addmessage("added "+ fld.name +" to deletestring")
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; gp.addmessage("about to delete fields" + "\n")
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; gp.addmessage("deletString looks like this..." + "\n&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; " + deleteString[:-1])
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; try:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; gp.DeleteField(cadToFC, deleteString[:-1])
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; except:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; gp.addmessage("failed to delete fields")&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 11 Dec 2021 19:36:07 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/string-manipulation-issues-in-python/m-p/437784#M34384</guid>
      <dc:creator>KurtSargent</dc:creator>
      <dc:date>2021-12-11T19:36:07Z</dc:date>
    </item>
    <item>
      <title>Re: String Manipulation Issues in Python</title>
      <link>https://community.esri.com/t5/python-questions/string-manipulation-issues-in-python/m-p/437785#M34385</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Glad it worked - I like your hybrid approach.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;FYI: The .replace() only works on text strings - not lists, so you would have to convert the fieldList to a string (or accumulate a string by looping through the list items which is what I do in my code with the deleteString variable).&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BLOCKQUOTE class="jive-quote"&gt;p.s. I don't see an option to mark question as answered but maybe you can't do that in the new forums?)&lt;/BLOCKQUOTE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Nope - ESRI is still working on that...&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 15 Feb 2011 15:06:19 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/string-manipulation-issues-in-python/m-p/437785#M34385</guid>
      <dc:creator>ChrisSnyder</dc:creator>
      <dc:date>2011-02-15T15:06:19Z</dc:date>
    </item>
    <item>
      <title>Re: String Manipulation Issues in Python</title>
      <link>https://community.esri.com/t5/python-questions/string-manipulation-issues-in-python/m-p/437786#M34386</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;You see, I think that it is a txt string in the original code and I'm still baffled as to why it fails at the noted point. Not a huge deal, but I'm just starting to get the hang of geoprocessing scripts, but I keep running into these weird seeminly unexplainable quirks.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;
oidFld = "OBJECTID;"
shpFld = "Shape;"
lyrFld = "Layer;"
lenFld = "Shape_Length"
inputs = ""

#returns a list
fldList = gp.ListFields(cadToFC)
for fld in fldList:

[INDENT]#returns a string
fldName = fld.name

#adds to fieldname string + ";"
inputs = inputs + fldName+";"
[/INDENT]

#a string minus the last ";"
delfields = inputs[:-1]
gp.addmessage("here is the delFields string:&amp;nbsp; "+ delfileds)

if delfields.find(oidFld) != -1:
[INDENT]gp.addmessage("found oidfld")
delFields.replace(oidFld, "") #EXCECUTION ENDS HERE FOR SOME REASON
gp.addmessage("removed oid")[/INDENT]
if delfields.find(shpFld) != -1:
[INDENT]gp.addmessage("found shpfld")
delFields.replace(shpFld, "")
gp.addmessage("removed shpfild")[/INDENT]
if delfields.find(lyrFld) != -1:
[INDENT]gp.addmessage("found lyrfld")
delFields.replace(lyrFld, "")
gp.addmessage("removed lyrfld")[/INDENT]if delfields.find(lenFld) != -1:
[INDENT]gp.addmessage("found lenfld")
delFields.replace(lenFld, "")
gp.addmessage("removed lyrfld")[/INDENT]

gp.addmessage("Edited: " + delfields + "\n")

&lt;/PRE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;message results: &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;here is the delFields string: OBJECTID;Shape;Entity;Handle;Layer;LyrFrzn;LyrLock ;LyrOn;LyrVPFrzn;LyrHandle;Color;EntColor;LyrColor ;BlkColor;Linetype;EntLinetype;LyrLnType;BlkLinety pe;Elevation;Thickness;LineWt;EntLineWt;LyrLineWt; BlkLineWt;RefName;LTScale;ExtX;ExtY;ExtZ;DocName;D ocPath;DocType;DocVer;Shape_Length&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;found oid&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 12 Dec 2021 16:29:08 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/string-manipulation-issues-in-python/m-p/437786#M34386</guid>
      <dc:creator>KurtSargent</dc:creator>
      <dc:date>2021-12-12T16:29:08Z</dc:date>
    </item>
  </channel>
</rss>

