<?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 Re: Beginner Arcade question - Split function - extracting values in ArcGIS Pro Questions</title>
    <link>https://community.esri.com/t5/arcgis-pro-questions/beginner-arcade-question-split-function-extracting/m-p/1200666#M58341</link>
    <description>&lt;P&gt;Seems to work fine, but if you have any values in your table that &lt;EM&gt;don't &lt;/EM&gt;follow the same formatting, it's possible that you could see an out of bounds message.&lt;/P&gt;&lt;P&gt;Some pointers:&lt;/P&gt;&lt;P&gt;Unless you're &lt;EM&gt;positive&lt;/EM&gt; that the data's all good and it's never going to change, assume there will be some "breaking" values or nulls in your fields and try to account for them. The &lt;STRONG&gt;DefaultValue&lt;/STRONG&gt; function is good for this in other contexts, but won't catch out-of-bounders.&lt;/P&gt;&lt;P&gt;You can also use &lt;STRONG&gt;Console&lt;/STRONG&gt; to send messages to the console window. For longer expressions, this is good for checking intermediate outputs, or to see how far an expression gets before failing, if your error message isn't specific or helpful enough.&lt;/P&gt;&lt;P&gt;Utilize variables. I get wanting to do a nice one-liner, but if you're having trouble getting your expression to work, breaking it into pieces can make for an easier debugging process.&lt;/P&gt;&lt;P&gt;All that said, what does your not-working expression look like? I don't see how changing the index from 0 to 1 would break this...&lt;/P&gt;&lt;LI-CODE lang="javascript"&gt;var a = 'CITY OF BETTENDORF, FOREST GROVE DRIVE, E'
var s = Split(a, ',')
var c = Count(s)

Console(`${c} items in split array`)

If (c &amp;gt; 1){
    return s[1]
} else {
    return 'Only one item in the split array.'
}&lt;/LI-CODE&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="jcarlson_4-1660008610013.png" style="width: 400px;"&gt;&lt;img src="https://community.esri.com/t5/image/serverpage/image-id/48101i1AEEDED9CBCB14ED/image-size/medium?v=v2&amp;amp;px=400" role="button" title="jcarlson_4-1660008610013.png" alt="jcarlson_4-1660008610013.png" /&gt;&lt;/span&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="jcarlson_5-1660008621292.png" style="width: 400px;"&gt;&lt;img src="https://community.esri.com/t5/image/serverpage/image-id/48102i14F9A66520389C99/image-size/medium?v=v2&amp;amp;px=400" role="button" title="jcarlson_5-1660008621292.png" alt="jcarlson_5-1660008621292.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="jcarlson_6-1660008705659.png" style="width: 400px;"&gt;&lt;img src="https://community.esri.com/t5/image/serverpage/image-id/48103i38E60CDBEE0244D4/image-size/medium?v=v2&amp;amp;px=400" role="button" title="jcarlson_6-1660008705659.png" alt="jcarlson_6-1660008705659.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Tue, 09 Aug 2022 01:33:22 GMT</pubDate>
    <dc:creator>jcarlson</dc:creator>
    <dc:date>2022-08-09T01:33:22Z</dc:date>
    <item>
      <title>Beginner Arcade question - Split function - extracting values</title>
      <link>https://community.esri.com/t5/arcgis-pro-questions/beginner-arcade-question-split-function-extracting/m-p/1200641#M58334</link>
      <description>&lt;P&gt;I thought I knew how to get a value out of an array, but I'm having trouble. I'm looking to return the 2nd, or middle value - the string between two commas in my field:&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="rburkebsrc_1-1660001093221.png" style="width: 400px;"&gt;&lt;img src="https://community.esri.com/t5/image/serverpage/image-id/48088iDC05EDDC52424517/image-size/medium?v=v2&amp;amp;px=400" role="button" title="rburkebsrc_1-1660001093221.png" alt="rburkebsrc_1-1660001093221.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="rburkebsrc_0-1660000996311.png" style="width: 400px;"&gt;&lt;img src="https://community.esri.com/t5/image/serverpage/image-id/48087iABC078EFA088FC22/image-size/medium?v=v2&amp;amp;px=400" role="button" title="rburkebsrc_0-1660000996311.png" alt="rburkebsrc_0-1660000996311.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;The split function itself works...&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="rburkebsrc_2-1660001116505.png" style="width: 400px;"&gt;&lt;img src="https://community.esri.com/t5/image/serverpage/image-id/48089i3D6F570F41C25192/image-size/medium?v=v2&amp;amp;px=400" role="button" title="rburkebsrc_2-1660001116505.png" alt="rburkebsrc_2-1660001116505.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="rburkebsrc_3-1660001123371.png" style="width: 400px;"&gt;&lt;img src="https://community.esri.com/t5/image/serverpage/image-id/48090iE365273EA920B4D7/image-size/medium?v=v2&amp;amp;px=400" role="button" title="rburkebsrc_3-1660001123371.png" alt="rburkebsrc_3-1660001123371.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;And I can ask for the first value successfully...&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="rburkebsrc_6-1660001385902.png" style="width: 400px;"&gt;&lt;img src="https://community.esri.com/t5/image/serverpage/image-id/48093iC1EB6406E40E9B38/image-size/medium?v=v2&amp;amp;px=400" role="button" title="rburkebsrc_6-1660001385902.png" alt="rburkebsrc_6-1660001385902.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="rburkebsrc_4-1660001372238.png" style="width: 400px;"&gt;&lt;img src="https://community.esri.com/t5/image/serverpage/image-id/48091i3432BCC2AC95F5CC/image-size/medium?v=v2&amp;amp;px=400" role="button" title="rburkebsrc_4-1660001372238.png" alt="rburkebsrc_4-1660001372238.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;But when I ask for that middle value, it says it's out of bounds. I feel that I'm missing something obvious and would appreciate any pointers!&lt;/P&gt;</description>
      <pubDate>Mon, 08 Aug 2022 23:32:31 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-pro-questions/beginner-arcade-question-split-function-extracting/m-p/1200641#M58334</guid>
      <dc:creator>wayfaringrob</dc:creator>
      <dc:date>2022-08-08T23:32:31Z</dc:date>
    </item>
    <item>
      <title>Re: Beginner Arcade question - Split function - extracting values</title>
      <link>https://community.esri.com/t5/arcgis-pro-questions/beginner-arcade-question-split-function-extracting/m-p/1200644#M58335</link>
      <description>&lt;P&gt;The number returns the number of splits to make, the default being -1 which means all.&amp;nbsp; Then you slice.&lt;/P&gt;&lt;P&gt;If you know that there will be 3, then a slice of [1] will return the middle&lt;/P&gt;&lt;P&gt;&lt;A href="https://developers.arcgis.com/arcade/function-reference/text_functions/#split" target="_blank" rel="noopener"&gt;Text Functions | ArcGIS Arcade | ArcGIS Developers&lt;/A&gt;&lt;/P&gt;&lt;P&gt;You can do it in python and probably emulate it in&amp;nbsp; arcade&lt;/P&gt;&lt;LI-CODE lang="python"&gt;fld0 = "a, b"
fld1 = "a, b, c"
fld2 = "a, b, c, d"
fld3 = "a, b, c, d, e"

fld0.split(", ")[fld0.count(",")//2]
'a'

fld1.split(", ")[fld1.count(",")//2]
'b'

fld2.split(", ")[fld2.count(",")//2]
'b'

fld3.split(", ")[fld3.count(",")//2]
'c'&lt;/LI-CODE&gt;</description>
      <pubDate>Mon, 08 Aug 2022 23:57:36 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-pro-questions/beginner-arcade-question-split-function-extracting/m-p/1200644#M58335</guid>
      <dc:creator>DanPatterson</dc:creator>
      <dc:date>2022-08-08T23:57:36Z</dc:date>
    </item>
    <item>
      <title>Re: Beginner Arcade question - Split function - extracting values</title>
      <link>https://community.esri.com/t5/arcgis-pro-questions/beginner-arcade-question-split-function-extracting/m-p/1200666#M58341</link>
      <description>&lt;P&gt;Seems to work fine, but if you have any values in your table that &lt;EM&gt;don't &lt;/EM&gt;follow the same formatting, it's possible that you could see an out of bounds message.&lt;/P&gt;&lt;P&gt;Some pointers:&lt;/P&gt;&lt;P&gt;Unless you're &lt;EM&gt;positive&lt;/EM&gt; that the data's all good and it's never going to change, assume there will be some "breaking" values or nulls in your fields and try to account for them. The &lt;STRONG&gt;DefaultValue&lt;/STRONG&gt; function is good for this in other contexts, but won't catch out-of-bounders.&lt;/P&gt;&lt;P&gt;You can also use &lt;STRONG&gt;Console&lt;/STRONG&gt; to send messages to the console window. For longer expressions, this is good for checking intermediate outputs, or to see how far an expression gets before failing, if your error message isn't specific or helpful enough.&lt;/P&gt;&lt;P&gt;Utilize variables. I get wanting to do a nice one-liner, but if you're having trouble getting your expression to work, breaking it into pieces can make for an easier debugging process.&lt;/P&gt;&lt;P&gt;All that said, what does your not-working expression look like? I don't see how changing the index from 0 to 1 would break this...&lt;/P&gt;&lt;LI-CODE lang="javascript"&gt;var a = 'CITY OF BETTENDORF, FOREST GROVE DRIVE, E'
var s = Split(a, ',')
var c = Count(s)

Console(`${c} items in split array`)

If (c &amp;gt; 1){
    return s[1]
} else {
    return 'Only one item in the split array.'
}&lt;/LI-CODE&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="jcarlson_4-1660008610013.png" style="width: 400px;"&gt;&lt;img src="https://community.esri.com/t5/image/serverpage/image-id/48101i1AEEDED9CBCB14ED/image-size/medium?v=v2&amp;amp;px=400" role="button" title="jcarlson_4-1660008610013.png" alt="jcarlson_4-1660008610013.png" /&gt;&lt;/span&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="jcarlson_5-1660008621292.png" style="width: 400px;"&gt;&lt;img src="https://community.esri.com/t5/image/serverpage/image-id/48102i14F9A66520389C99/image-size/medium?v=v2&amp;amp;px=400" role="button" title="jcarlson_5-1660008621292.png" alt="jcarlson_5-1660008621292.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="jcarlson_6-1660008705659.png" style="width: 400px;"&gt;&lt;img src="https://community.esri.com/t5/image/serverpage/image-id/48103i38E60CDBEE0244D4/image-size/medium?v=v2&amp;amp;px=400" role="button" title="jcarlson_6-1660008705659.png" alt="jcarlson_6-1660008705659.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 09 Aug 2022 01:33:22 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-pro-questions/beginner-arcade-question-split-function-extracting/m-p/1200666#M58341</guid>
      <dc:creator>jcarlson</dc:creator>
      <dc:date>2022-08-09T01:33:22Z</dc:date>
    </item>
    <item>
      <title>Re: Beginner Arcade question - Split function - extracting values</title>
      <link>https://community.esri.com/t5/arcgis-pro-questions/beginner-arcade-question-split-function-extracting/m-p/1200819#M58366</link>
      <description>&lt;P&gt;Thanks for taking the time to show examples! And yes, I do normally use variables - they're great!&lt;/P&gt;&lt;P&gt;I also don't see how changing the index from [0] to [1] would break it, but alas, that's the issue.&lt;/P&gt;&lt;P&gt;Valid:&lt;/P&gt;&lt;LI-CODE lang="javascript"&gt;var muni = $feature.MUNICIPAL_
var label = split(muni,",",3,false)
return string[0]&lt;/LI-CODE&gt;&lt;P&gt;Invalid (index out of bounds):&lt;/P&gt;&lt;LI-CODE lang="javascript"&gt;var muni = $feature.MUNICIPAL_
var label = split(muni,",",3,false)
return string[1]&lt;/LI-CODE&gt;&lt;P&gt;When I test with text, I have no problems.&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="rburkebsrc_2-1660056176439.png" style="width: 400px;"&gt;&lt;img src="https://community.esri.com/t5/image/serverpage/image-id/48140i07C0D63BFDB894CC/image-size/medium?v=v2&amp;amp;px=400" role="button" title="rburkebsrc_2-1660056176439.png" alt="rburkebsrc_2-1660056176439.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;Some fields do not follow this format, but my attempts at excluding those from the expression haven't been successful.&lt;/P&gt;&lt;P&gt;Valid expression, with [0]:&lt;/P&gt;&lt;LI-CODE lang="javascript"&gt;var muni = $feature.MUNICIPAL_
var comma1_position = Find(",",muni)
var comma2_start = comma1_position + 1

//returns '' if 2 comma delimiters are not found; returns first string if 2 commas are found
IIF(comma1_position == "-1","",IIF(Find(",",muni,(comma2_start)) == "-1","", split(muni,",",3,false)[0]))&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;Invalid expression, with [1] (nothing else changed) (index out of bounds error):&lt;/P&gt;&lt;LI-CODE lang="javascript"&gt;var muni = $feature.MUNICIPAL_
var comma1_position = Find(",",muni)
var comma2_start = comma1_position + 1

//returns '' if 2 comma delimiters are not found; returns second string if 2 commas are found
IIF(comma1_position == "-1","",IIF(Find(",",muni,(comma2_start)) == "-1","", split(muni,",",3,false)[1]))&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 09 Aug 2022 15:04:32 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-pro-questions/beginner-arcade-question-split-function-extracting/m-p/1200819#M58366</guid>
      <dc:creator>wayfaringrob</dc:creator>
      <dc:date>2022-08-09T15:04:32Z</dc:date>
    </item>
    <item>
      <title>Re: Beginner Arcade question - Split function - extracting values</title>
      <link>https://community.esri.com/t5/arcgis-pro-questions/beginner-arcade-question-split-function-extracting/m-p/1200822#M58368</link>
      <description>&lt;P&gt;Oh, wait a minute. Using the COUNT function works ... perfectly. Did not know about that. Look at me making things as complex as can be. The solution is pretty simple. Thanks.&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="rburkebsrc_3-1660057731887.png" style="width: 400px;"&gt;&lt;img src="https://community.esri.com/t5/image/serverpage/image-id/48142i8649C3D0DBFEFC9B/image-size/medium?v=v2&amp;amp;px=400" role="button" title="rburkebsrc_3-1660057731887.png" alt="rburkebsrc_3-1660057731887.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 09 Aug 2022 15:09:08 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-pro-questions/beginner-arcade-question-split-function-extracting/m-p/1200822#M58368</guid>
      <dc:creator>wayfaringrob</dc:creator>
      <dc:date>2022-08-09T15:09:08Z</dc:date>
    </item>
  </channel>
</rss>

