<?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: Editing strings in a list in Discussions</title>
    <link>https://community.jmp.com/t5/Discussions/Editing-strings-in-a-list/m-p/328602#M57789</link>
    <description>&lt;P&gt;This approach doesn't use a for loop.&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-jsl"&gt;Names Default To Here( 1 );
exampleList = {"data_20229.csv", "data_20230.csv", "data_20231.csv",
"data_20232.csv", "data_20236.csv", "data_20237.csv", "data_20238.csv",
"data_20239.csv", "data_20240.csv", "data_20241.csv", "data_20242.csv",
"data_20243.csv", "data_20244.csv", "data_20245.csv", "data_20247.csv",
"data_20248.csv", "data_20251.csv", "data_20252.csv", "data_20253.csv",
"data_20254.csv", "data_20255.csv", "data_20256.csv", "data_20257.csv",
"data_20258.csv", "data_20259.csv", "data_20260.csv", "data_20261.csv",
"data_20262.csv", "data_20263.csv", "data_20264.csv", "data_20265.csv",
"data_20266.csv", "data_20267.csv", "data_20268.csv", "data_20269.csv",
"data_20270.csv"};

str      = char(examplelist);
newstr   = substitute(str, "data_", "", ".csv", "");
new_list = parse(newstr);

show( new_list );&lt;/CODE&gt;&lt;/PRE&gt;</description>
    <pubDate>Sat, 31 Oct 2020 19:41:06 GMT</pubDate>
    <dc:creator>pmroz</dc:creator>
    <dc:date>2020-10-31T19:41:06Z</dc:date>
    <item>
      <title>Editing strings in a list</title>
      <link>https://community.jmp.com/t5/Discussions/Editing-strings-in-a-list/m-p/328454#M57770</link>
      <description>&lt;P&gt;I am making a listbox that I use in a script to select the batch numbers I want to analyze. I would like to make the list of batch numbers based on file names in a folder. I cannot figure out how to edit the name of the file to be only the batch number.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;This is what the list of file names looks like&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;&lt;CODE class=" language-jsl"&gt;"data_20229.csv", "data_20230.csv", "data_20231.csv", "data_20232.csv",
"data_20236.csv", "data_20237.csv", "data_20238.csv", "data_20239.csv",
"data_20240.csv", "data_20241.csv", "data_20242.csv", "data_20243.csv",
"data_20244.csv", "data_20245.csv", "data_20247.csv", "data_20248.csv",
"data_20251.csv", "data_20252.csv", "data_20253.csv", "data_20254.csv",
"data_20255.csv", "data_20256.csv", "data_20257.csv", "data_20258.csv",
"data_20259.csv", "data_20260.csv", "data_20261.csv", "data_20262.csv",
"data_20263.csv", "data_20264.csv", "data_20265.csv", "data_20266.csv",
"data_20267.csv", "data_20268.csv", "data_20269.csv", "data_20270.csv"&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;I want the list to end up like this&lt;/P&gt;&lt;PRE&gt;&lt;CODE class=" language-jsl"&gt;"20229", "20230", "20231", "20232", "20233", "20234", "20235", "20236",
"20237", "20238", "20239", "20240", "20241", "20242", "20243", "20244", "20245",
"20246", "20247", "20248", "20249", "20250", "20251", "20252", "20253", "20254",
"20255", "20256", "20257", "20258", "20259", "20260", "20261", "20262", "20263",
"20264", "20265", "20266", "20267", "20268", "20269", "20270"&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 09 Jun 2023 23:42:02 GMT</pubDate>
      <guid>https://community.jmp.com/t5/Discussions/Editing-strings-in-a-list/m-p/328454#M57770</guid>
      <dc:creator>ealindahl</dc:creator>
      <dc:date>2023-06-09T23:42:02Z</dc:date>
    </item>
    <item>
      <title>Re: Editing strings in a list</title>
      <link>https://community.jmp.com/t5/Discussions/Editing-strings-in-a-list/m-p/328473#M57771</link>
      <description>&lt;P&gt;The easiest way to do this is to use the Word() function.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-jsl"&gt;Names Default To Here( 1 );
exampleList = {"data_20229.csv", "data_20230.csv", "data_20231.csv",
"data_20232.csv", "data_20236.csv", "data_20237.csv", "data_20238.csv",
"data_20239.csv", "data_20240.csv", "data_20241.csv", "data_20242.csv",
"data_20243.csv", "data_20244.csv", "data_20245.csv", "data_20247.csv",
"data_20248.csv", "data_20251.csv", "data_20252.csv", "data_20253.csv",
"data_20254.csv", "data_20255.csv", "data_20256.csv", "data_20257.csv",
"data_20258.csv", "data_20259.csv", "data_20260.csv", "data_20261.csv",
"data_20262.csv", "data_20263.csv", "data_20264.csv", "data_20265.csv",
"data_20266.csv", "data_20267.csv", "data_20268.csv", "data_20269.csv",
"data_20270.csv"};

For( i = 1, i &amp;lt;= N Items( exampleList ), i++,
	exampleList[i] = Word( 2, exampleList[i], "_." )
);

show( exampleList );&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;Documentation on the Word() function can be found in the Scripting Index.&lt;/P&gt;</description>
      <pubDate>Sat, 31 Oct 2020 00:17:43 GMT</pubDate>
      <guid>https://community.jmp.com/t5/Discussions/Editing-strings-in-a-list/m-p/328473#M57771</guid>
      <dc:creator>txnelson</dc:creator>
      <dc:date>2020-10-31T00:17:43Z</dc:date>
    </item>
    <item>
      <title>Re: Editing strings in a list</title>
      <link>https://community.jmp.com/t5/Discussions/Editing-strings-in-a-list/m-p/328518#M57778</link>
      <description>&lt;P&gt;Thanks, Jim.&lt;/P&gt;&lt;P&gt;Word function is a nice and easy to understand function for such purposes.&lt;/P&gt;&lt;P&gt;An even more General Approach May be using regex,&lt;/P&gt;&lt;P&gt;so simply replacing one line of Jims Script by&lt;/P&gt;&lt;PRE&gt;&lt;CODE class=" language-jsl"&gt;	exampleList[i] = regex(exampleList[i], "([0-9]+)", "\1")&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;would search for the first occurrence of a number.&lt;/P&gt;&lt;P&gt;This May be useful, when data is not that clean as in this example. Regex is incredibly powerful.&lt;/P&gt;</description>
      <pubDate>Sat, 31 Oct 2020 09:40:17 GMT</pubDate>
      <guid>https://community.jmp.com/t5/Discussions/Editing-strings-in-a-list/m-p/328518#M57778</guid>
      <dc:creator>Georg</dc:creator>
      <dc:date>2020-10-31T09:40:17Z</dc:date>
    </item>
    <item>
      <title>Re: Editing strings in a list</title>
      <link>https://community.jmp.com/t5/Discussions/Editing-strings-in-a-list/m-p/328602#M57789</link>
      <description>&lt;P&gt;This approach doesn't use a for loop.&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-jsl"&gt;Names Default To Here( 1 );
exampleList = {"data_20229.csv", "data_20230.csv", "data_20231.csv",
"data_20232.csv", "data_20236.csv", "data_20237.csv", "data_20238.csv",
"data_20239.csv", "data_20240.csv", "data_20241.csv", "data_20242.csv",
"data_20243.csv", "data_20244.csv", "data_20245.csv", "data_20247.csv",
"data_20248.csv", "data_20251.csv", "data_20252.csv", "data_20253.csv",
"data_20254.csv", "data_20255.csv", "data_20256.csv", "data_20257.csv",
"data_20258.csv", "data_20259.csv", "data_20260.csv", "data_20261.csv",
"data_20262.csv", "data_20263.csv", "data_20264.csv", "data_20265.csv",
"data_20266.csv", "data_20267.csv", "data_20268.csv", "data_20269.csv",
"data_20270.csv"};

str      = char(examplelist);
newstr   = substitute(str, "data_", "", ".csv", "");
new_list = parse(newstr);

show( new_list );&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Sat, 31 Oct 2020 19:41:06 GMT</pubDate>
      <guid>https://community.jmp.com/t5/Discussions/Editing-strings-in-a-list/m-p/328602#M57789</guid>
      <dc:creator>pmroz</dc:creator>
      <dc:date>2020-10-31T19:41:06Z</dc:date>
    </item>
    <item>
      <title>Re: Editing strings in a list</title>
      <link>https://community.jmp.com/t5/Discussions/Editing-strings-in-a-list/m-p/329940#M57916</link>
      <description>&lt;P&gt;Thanks Georg! That works really well. I've never used regex before and I tried to do some googling on it to solve this one issue. I do have some junk files in the same folder which do not contain any numbers. so the name of those files is not coming into the list, but the period is. How do I get rid of the period?&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;&lt;P&gt;It looks like this&amp;nbsp; &amp;nbsp;{., ., ., ., ., ., ., "20131", "20132", "20133",}&lt;/P&gt;</description>
      <pubDate>Thu, 05 Nov 2020 07:59:53 GMT</pubDate>
      <guid>https://community.jmp.com/t5/Discussions/Editing-strings-in-a-list/m-p/329940#M57916</guid>
      <dc:creator>ealindahl</dc:creator>
      <dc:date>2020-11-05T07:59:53Z</dc:date>
    </item>
    <item>
      <title>Re: Editing strings in a list</title>
      <link>https://community.jmp.com/t5/Discussions/Editing-strings-in-a-list/m-p/329942#M57917</link>
      <description>&lt;P&gt;Dear &lt;a href="https://community.jmp.com/t5/user/viewprofilepage/user-id/18696"&gt;@ealindahl&lt;/a&gt;,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;the periods belong to missing values, i.e. the regex did not find a match.&lt;/P&gt;&lt;P&gt;You can remove them afterwords, or avoid them during List Generation, and have to Change the loop slightly.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;An easy way to remove them afterwords is the following (first way via string Manipulation, second via loop through).&lt;/P&gt;&lt;P&gt;BR&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;&lt;CODE class=" language-jsl"&gt;names default to here(1);

list = {., ., ., ., ., ., ., "20131", "20132", "20133"};
new_list = parse(substitute(char(list),".,", ""));

show (list);
show (new_list);

new_list={};
for (i=1, i&amp;lt;= n items(list), i++,
	if (!is missing(list[i]), new_list = insert(new_list, list[i]));
);
show(new_list);&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 05 Nov 2020 08:40:16 GMT</pubDate>
      <guid>https://community.jmp.com/t5/Discussions/Editing-strings-in-a-list/m-p/329942#M57917</guid>
      <dc:creator>Georg</dc:creator>
      <dc:date>2020-11-05T08:40:16Z</dc:date>
    </item>
  </channel>
</rss>

