<?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: Delete strings in a list that contain a word in Discussions</title>
    <link>https://community.jmp.com/t5/Discussions/Delete-strings-in-a-list-that-contain-a-word/m-p/361688#M61126</link>
    <description>&lt;P&gt;Here's one regex approach:&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 );

Assign(
	file_lst,
	{"2021_abc_027_result.csv", "2021_abc_027_summary.csv", "2021_abc_028_result.csv", "2021_abc_028_summary.csv", "2021_abc_029_result.csv",
	"2021_abc_029_summary.csv", "2021_abc_038_result.csv", "2021_abc_038_summary.csv", "2021_abc_040_result.csv", "2021_abc_040_summary.csv",
	"2021_abc_041_result.csv", "2021_abc_041_summary.csv", "2021_abc_042_result.csv", "2021_abc_042_summary.csv", "2021_abc_043_result.csv",
	"2021_abc_043_summary.csv", "2021_abc_044_result.csv", "2021_abc_044_summary.csv", "2021_abc_045_result.csv", "2021_abc_045_summary.csv",
	"2021_abc_046_result.csv", "2021_abc_046_summary.csv", "2021_abc_047_result.csv", "2021_abc_047_summary.csv", "2021_abc_048_result.csv",
	"2021_abc_048_summary.csv", "2021_abc_049_result.csv", "2021_abc_049_summary.csv", "2021_abc_050_result.csv", "2021_abc_050_summary.csv",
	"2021_abc_051_result.csv", "2021_abc_051_summary.csv", "2021_abc_052_result.csv", "2021_abc_052_summary.csv", "2021_abc_053_result.csv",
	"2021_abc_053_summary.csv", "2021_abc_054_result.csv", "2021_abc_054_summary.csv", "2021_abc_055_result.csv", "2021_abc_055_summary.csv",
	"2021_abc_056_result.csv", "2021_abc_056_summary.csv", "2021_abc_057_result.csv", "2021_abc_057_summary.csv", "2021_abc_058_result.csv",
	"2021_abc_058_summary.csv", "2021_abc_059_result.csv", "2021_abc_059_summary.csv", "2021_abc_060_result.csv", "2021_abc_060_summary.csv",
	"2021_abc_061_result.csv", "2021_abc_061_summary.csv", "2021_abc_062_result.csv", "2021_abc_062_summary.csv", "2021_abc_063_result.csv",
	"2021_abc_063_summary.csv", "2021_abc_064_result.csv", "2021_abc_064_summary.csv", "2021_abc_065_result.csv", "2021_abc_065_summary.csv",
	"2021_abc_067_result.csv"}
);

For( i = 1, i &amp;lt;= N Items( file_lst ), i++,
	print( eval(Regex( file_lst[i], "^([0-9]+)_([a-z]{3})_([0-9]{3}).*result", "Fullname: \0 Part1: \1 Part2: \2 Part3: \3" )) )
);&lt;/CODE&gt;&lt;/PRE&gt;</description>
    <pubDate>Tue, 23 Feb 2021 05:54:01 GMT</pubDate>
    <dc:creator>Georg</dc:creator>
    <dc:date>2021-02-23T05:54:01Z</dc:date>
    <item>
      <title>Delete strings in a list that contain a word</title>
      <link>https://community.jmp.com/t5/Discussions/Delete-strings-in-a-list-that-contain-a-word/m-p/361656#M61120</link>
      <description>&lt;P&gt;I have a list of file names from which I want to select certain files. The first 4 digits are the year the underscore is acting like a deliminater, the "abc" is just an identifier for the type of file, the 3 digit number is the id, and "summary" or "result" refer to the kind of file.&lt;/P&gt;&lt;P&gt;First, I only want to look at the "result" files. I couldn't figure out how to remove all the "summary" files from my list.&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;&lt;CODE class=" language-jsl"&gt;{"2021_abc_027_result.csv", "2021_abc_027_summary.csv", "2021_abc_028_result.csv",
"2021_abc_028_summary.csv", "2021_abc_029_result.csv", "2021_abc_029_summary.csv",
"2021_abc_038_result.csv", "2021_abc_038_summary.csv", "2021_abc_040_result.csv",
"2021_abc_040_summary.csv", "2021_abc_041_result.csv", "2021_abc_041_summary.csv",
"2021_abc_042_result.csv", "2021_abc_042_summary.csv", "2021_abc_043_result.csv",
"2021_abc_043_summary.csv", "2021_abc_044_result.csv", "2021_abc_044_summary.csv",
"2021_abc_045_result.csv", "2021_abc_045_summary.csv", "2021_abc_046_result.csv",
"2021_abc_046_summary.csv", "2021_abc_047_result.csv", "2021_abc_047_summary.csv",
"2021_abc_048_result.csv", "2021_abc_048_summary.csv", "2021_abc_049_result.csv",
"2021_abc_049_summary.csv", "2021_abc_050_result.csv", "2021_abc_050_summary.csv",
"2021_abc_051_result.csv", "2021_abc_051_summary.csv", "2021_abc_052_result.csv",
"2021_abc_052_summary.csv", "2021_abc_053_result.csv", "2021_abc_053_summary.csv",
"2021_abc_054_result.csv", "2021_abc_054_summary.csv", "2021_abc_055_result.csv",
"2021_abc_055_summary.csv", "2021_abc_056_result.csv", "2021_abc_056_summary.csv",
"2021_abc_057_result.csv", "2021_abc_057_summary.csv", "2021_abc_058_result.csv",
"2021_abc_058_summary.csv", "2021_abc_059_result.csv", "2021_abc_059_summary.csv",
"2021_abc_060_result.csv", "2021_abc_060_summary.csv", "2021_abc_061_result.csv",
"2021_abc_061_summary.csv", "2021_abc_062_result.csv", "2021_abc_062_summary.csv",
"2021_abc_063_result.csv", "2021_abc_063_summary.csv", "2021_abc_064_result.csv",
"2021_abc_064_summary.csv", "2021_abc_065_result.csv", "2021_abc_065_summary.csv",
"2021_abc_067_result.csv"}&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;BR /&gt;Second, I want to select the files based on the year and 3 digit code.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I have done something similar in the past to select files using regex where there was only one number in the string so I used&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;&lt;CODE class=" language-jsl"&gt;For( i = 1, i &amp;lt;= N Items( FileList ), i++,
	FileList[i] = regex(FileList[i], "([0-9]+)", "\1")
);&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;but in this case I end up with a list of "2021", "2021",...&lt;/P&gt;&lt;P&gt;Ideally I would end up with a list looking like&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;&lt;CODE class=" language-jsl"&gt;{"2021_027 ", "2021_027 ", "2021_028 ",
"2021_028 ", "2021_029 ", "2021_029 ",
"2021_038 ", "2021_038 ", "2021_040 ",
"2021_040 ", "2021_041 ", "2021_041 ",
"2021_042 ", "2021_042 ", "2021_043 ",
"2021_043 ", "2021_044 ", "2021_044 ",
"2021_045 ", "2021_045 ", "2021_046 ",
"2021_046 ", "2021_047 ", "2021_047 ",
"2021_048 ", "2021_048 ", "2021_049 ",
"2021_049 ", "2021_050 ", "2021_050 ",
"2021_051 ", "2021_051 ", "2021_052 ",
"2021_052 ", "2021_053 ", "2021_053 ",
"2021_054 ", "2021_054 ", "2021_055 ",
"2021_055 ", "2021_056 ", "2021_056 ",
"2021_057 ", "2021_057 ", "2021_058 ",
"2021_058 ", "2021_059 ", "2021_059 ",
"2021_060 ", "2021_060 ", "2021_061 ",
"2021_061 ", "2021_062 ", "2021_062 ",
"2021_063 ", "2021_063 ", "2021_064 ",
"2021_064 ", "2021_065 ", "2021_065 ",
"2021_067 "}&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;and then I could select from that list the files I want to use.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Also any tips on learning how to regex better are welcome.&lt;BR /&gt;&lt;BR /&gt;Thank you!&lt;/P&gt;</description>
      <pubDate>Fri, 09 Jun 2023 22:06:40 GMT</pubDate>
      <guid>https://community.jmp.com/t5/Discussions/Delete-strings-in-a-list-that-contain-a-word/m-p/361656#M61120</guid>
      <dc:creator>ealindahl</dc:creator>
      <dc:date>2023-06-09T22:06:40Z</dc:date>
    </item>
    <item>
      <title>Re: Delete strings in a list that contain a word</title>
      <link>https://community.jmp.com/t5/Discussions/Delete-strings-in-a-list-that-contain-a-word/m-p/361669#M61121</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Here is a brute force approach to your problem that bypass the need to use regex (I'm not too good with those).&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-jsl"&gt;Names default to Here (1);

StartList = {"2021_abc_027_result.csv", "2021_abc_027_summary.csv", "2021_abc_028_result.csv",
"2021_abc_028_summary.csv", "2021_abc_029_result.csv", "2021_abc_029_summary.csv",
"2021_abc_038_result.csv", "2021_abc_038_summary.csv", "2021_abc_040_result.csv",
"2021_abc_040_summary.csv", "2021_abc_041_result.csv", "2021_abc_041_summary.csv",
"2021_abc_042_result.csv", "2021_abc_042_summary.csv", "2021_abc_043_result.csv",
"2021_abc_043_summary.csv", "2021_abc_044_result.csv", "2021_abc_044_summary.csv",
"2021_abc_045_result.csv", "2021_abc_045_summary.csv", "2021_abc_046_result.csv",
"2021_abc_046_summary.csv", "2021_abc_047_result.csv", "2021_abc_047_summary.csv",
"2021_abc_048_result.csv", "2021_abc_048_summary.csv", "2021_abc_049_result.csv",
"2021_abc_049_summary.csv", "2021_abc_050_result.csv", "2021_abc_050_summary.csv",
"2021_abc_051_result.csv", "2021_abc_051_summary.csv", "2021_abc_052_result.csv",
"2021_abc_052_summary.csv", "2021_abc_053_result.csv", "2021_abc_053_summary.csv",
"2021_abc_054_result.csv", "2021_abc_054_summary.csv", "2021_abc_055_result.csv",
"2021_abc_055_summary.csv", "2021_abc_056_result.csv", "2021_abc_056_summary.csv",
"2021_abc_057_result.csv", "2021_abc_057_summary.csv", "2021_abc_058_result.csv",
"2021_abc_058_summary.csv", "2021_abc_059_result.csv", "2021_abc_059_summary.csv",
"2021_abc_060_result.csv", "2021_abc_060_summary.csv", "2021_abc_061_result.csv",
"2021_abc_061_summary.csv", "2021_abc_062_result.csv", "2021_abc_062_summary.csv",
"2021_abc_063_result.csv", "2021_abc_063_summary.csv", "2021_abc_064_result.csv",
"2021_abc_064_summary.csv", "2021_abc_065_result.csv", "2021_abc_065_summary.csv",
"2021_abc_067_result.csv"};

ResultList = {};

For (i = 1, i &amp;lt;= N Items (StartList), i++,

	if (contains (StartList [i], "result"), insert into (ResultList, StartList[i]))
	
);

Show (ResultList); // Yields a clean list with results only

FileList = {};

For (i= 1 , i &amp;lt;= N Items (ResultList), i++,
	
	Insert into (FileList, Word (1, ResultList [i], "_") || "_" || Word (3, ResultList [i], "_"))
);

Show (FileList); // Yields the file Year and Numerical ID
&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;You can then use that list to feed into a ListBox or directly retrieve the corresponding file with the Contains () function.&lt;/P&gt;
&lt;P&gt;I'll read more about regex for the next time.&lt;/P&gt;
&lt;P&gt;Best,&lt;/P&gt;
&lt;P&gt;TS&lt;/P&gt;</description>
      <pubDate>Tue, 23 Feb 2021 02:39:16 GMT</pubDate>
      <guid>https://community.jmp.com/t5/Discussions/Delete-strings-in-a-list-that-contain-a-word/m-p/361669#M61121</guid>
      <dc:creator>Thierry_S</dc:creator>
      <dc:date>2021-02-23T02:39:16Z</dc:date>
    </item>
    <item>
      <title>Re: Delete strings in a list that contain a word</title>
      <link>https://community.jmp.com/t5/Discussions/Delete-strings-in-a-list-that-contain-a-word/m-p/361688#M61126</link>
      <description>&lt;P&gt;Here's one regex approach:&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 );

Assign(
	file_lst,
	{"2021_abc_027_result.csv", "2021_abc_027_summary.csv", "2021_abc_028_result.csv", "2021_abc_028_summary.csv", "2021_abc_029_result.csv",
	"2021_abc_029_summary.csv", "2021_abc_038_result.csv", "2021_abc_038_summary.csv", "2021_abc_040_result.csv", "2021_abc_040_summary.csv",
	"2021_abc_041_result.csv", "2021_abc_041_summary.csv", "2021_abc_042_result.csv", "2021_abc_042_summary.csv", "2021_abc_043_result.csv",
	"2021_abc_043_summary.csv", "2021_abc_044_result.csv", "2021_abc_044_summary.csv", "2021_abc_045_result.csv", "2021_abc_045_summary.csv",
	"2021_abc_046_result.csv", "2021_abc_046_summary.csv", "2021_abc_047_result.csv", "2021_abc_047_summary.csv", "2021_abc_048_result.csv",
	"2021_abc_048_summary.csv", "2021_abc_049_result.csv", "2021_abc_049_summary.csv", "2021_abc_050_result.csv", "2021_abc_050_summary.csv",
	"2021_abc_051_result.csv", "2021_abc_051_summary.csv", "2021_abc_052_result.csv", "2021_abc_052_summary.csv", "2021_abc_053_result.csv",
	"2021_abc_053_summary.csv", "2021_abc_054_result.csv", "2021_abc_054_summary.csv", "2021_abc_055_result.csv", "2021_abc_055_summary.csv",
	"2021_abc_056_result.csv", "2021_abc_056_summary.csv", "2021_abc_057_result.csv", "2021_abc_057_summary.csv", "2021_abc_058_result.csv",
	"2021_abc_058_summary.csv", "2021_abc_059_result.csv", "2021_abc_059_summary.csv", "2021_abc_060_result.csv", "2021_abc_060_summary.csv",
	"2021_abc_061_result.csv", "2021_abc_061_summary.csv", "2021_abc_062_result.csv", "2021_abc_062_summary.csv", "2021_abc_063_result.csv",
	"2021_abc_063_summary.csv", "2021_abc_064_result.csv", "2021_abc_064_summary.csv", "2021_abc_065_result.csv", "2021_abc_065_summary.csv",
	"2021_abc_067_result.csv"}
);

For( i = 1, i &amp;lt;= N Items( file_lst ), i++,
	print( eval(Regex( file_lst[i], "^([0-9]+)_([a-z]{3})_([0-9]{3}).*result", "Fullname: \0 Part1: \1 Part2: \2 Part3: \3" )) )
);&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Tue, 23 Feb 2021 05:54:01 GMT</pubDate>
      <guid>https://community.jmp.com/t5/Discussions/Delete-strings-in-a-list-that-contain-a-word/m-p/361688#M61126</guid>
      <dc:creator>Georg</dc:creator>
      <dc:date>2021-02-23T05:54:01Z</dc:date>
    </item>
    <item>
      <title>Re: Delete strings in a list that contain a word</title>
      <link>https://community.jmp.com/t5/Discussions/Delete-strings-in-a-list-that-contain-a-word/m-p/361730#M61134</link>
      <description>&lt;P&gt;Here is another approach.&amp;nbsp; I like to use the RegexMatch(SourceStr, patStr) function.&amp;nbsp; dot asterisk (.*) is similar to using a % in a Like database function.&amp;nbsp; Since you wish to remocve items from your list, you need to start from the end of the list otherwise your index is corrupted.&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-jsl"&gt;Names Default to Here(1);

FileList = {"2021_abc_027_result.csv", "2021_abc_027_summary.csv", "2021_abc_028_result.csv",
"2021_abc_028_summary.csv", "2021_abc_029_result.csv", "2021_abc_029_summary.csv",
"2021_abc_038_result.csv", "2021_abc_038_summary.csv", "2021_abc_040_result.csv",
"2021_abc_040_summary.csv", "2021_abc_041_result.csv", "2021_abc_041_summary.csv",
"2021_abc_042_result.csv", "2021_abc_042_summary.csv", "2021_abc_043_result.csv",
"2021_abc_043_summary.csv", "2021_abc_044_result.csv", "2021_abc_044_summary.csv",
"2021_abc_045_result.csv", "2021_abc_045_summary.csv", "2021_abc_046_result.csv",
"2021_abc_046_summary.csv", "2021_abc_047_result.csv", "2021_abc_047_summary.csv",
"2021_abc_048_result.csv", "2021_abc_048_summary.csv", "2021_abc_049_result.csv",
"2021_abc_049_summary.csv", "2021_abc_050_result.csv", "2021_abc_050_summary.csv",
"2021_abc_051_result.csv", "2021_abc_051_summary.csv", "2021_abc_052_result.csv",
"2021_abc_052_summary.csv", "2021_abc_053_result.csv", "2021_abc_053_summary.csv",
"2021_abc_054_result.csv", "2021_abc_054_summary.csv", "2021_abc_055_result.csv",
"2021_abc_055_summary.csv", "2021_abc_056_result.csv", "2021_abc_056_summary.csv",
"2021_abc_057_result.csv", "2021_abc_057_summary.csv", "2021_abc_058_result.csv",
"2021_abc_058_summary.csv", "2021_abc_059_result.csv", "2021_abc_059_summary.csv",
"2021_abc_060_result.csv", "2021_abc_060_summary.csv", "2021_abc_061_result.csv",
"2021_abc_061_summary.csv", "2021_abc_062_result.csv", "2021_abc_062_summary.csv",
"2021_abc_063_result.csv", "2021_abc_063_summary.csv", "2021_abc_064_result.csv",
"2021_abc_064_summary.csv", "2021_abc_065_result.csv", "2021_abc_065_summary.csv",
"2021_abc_067_result.csv"};


    patStr = "2021.*result.*";
    For(i = nitems(FileList), i&amp;gt;=1, i--,
        SourceStr = FileList[i] ;
		ret = Try( Regex Match( SourceStr, patStr )[1], "" );
		If( ret != SourceStr, RemoveFrom(FileList,i) );
	); //end For i
	Show(FileList);
&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 23 Feb 2021 10:30:37 GMT</pubDate>
      <guid>https://community.jmp.com/t5/Discussions/Delete-strings-in-a-list-that-contain-a-word/m-p/361730#M61134</guid>
      <dc:creator>gzmorgan0</dc:creator>
      <dc:date>2021-02-23T10:30:37Z</dc:date>
    </item>
    <item>
      <title>Re: Delete strings in a list that contain a word</title>
      <link>https://community.jmp.com/t5/Discussions/Delete-strings-in-a-list-that-contain-a-word/m-p/362171#M61187</link>
      <description>&lt;P&gt;Three high quality solutions:&lt;/P&gt;&lt;P&gt;&lt;a href="https://community.jmp.com/t5/user/viewprofilepage/user-id/11634"&gt;@Thierry_S&lt;/a&gt;&amp;nbsp;- easy to understand and maintain&lt;/P&gt;&lt;P&gt;&lt;a href="https://community.jmp.com/t5/user/viewprofilepage/user-id/9474"&gt;@Georg&lt;/a&gt;&amp;nbsp;- exactly how regex replacement is used&lt;/P&gt;&lt;P&gt;&lt;a href="https://community.jmp.com/t5/user/viewprofilepage/user-id/70"&gt;@gzmorgan0&lt;/a&gt;&amp;nbsp; - efficient removal from a list by working backwards&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;You can mix-and-match these ideas to make an ideal solution that is easy to maintain, efficient, and clearly represents the problem you are solving.&lt;/P&gt;</description>
      <pubDate>Wed, 24 Feb 2021 13:16:01 GMT</pubDate>
      <guid>https://community.jmp.com/t5/Discussions/Delete-strings-in-a-list-that-contain-a-word/m-p/362171#M61187</guid>
      <dc:creator>Craige_Hales</dc:creator>
      <dc:date>2021-02-24T13:16:01Z</dc:date>
    </item>
  </channel>
</rss>

