<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Java</title>
	<atom:link href="https://khalil232.com/tag/java/feed/" rel="self" type="application/rss+xml" />
	<link>https://khalil232.com</link>
	<description></description>
	<lastBuildDate>Sun, 12 Apr 2026 18:11:30 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.0</generator>

<image>
	<url>https://i0.wp.com/khalil232.com/wp-content/uploads/2023/12/khalil232-favicon-color.png?fit=32%2C32&#038;ssl=1</url>
	<title>Java</title>
	<link>https://khalil232.com</link>
	<width>32</width>
	<height>32</height>
</image> 
<site xmlns="com-wordpress:feed-additions:1">222554886</site>	<item>
		<title>How to rename file in MFT</title>
		<link>https://khalil232.com/oracle-mft/47/how-to-rename-file-in-mft/</link>
		
		<dc:creator><![CDATA[khalil]]></dc:creator>
		<pubDate>Fri, 01 Sep 2023 22:33:26 +0000</pubDate>
				<category><![CDATA[Oracle-MFT]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[MFT]]></category>
		<guid isPermaLink="false">https://khalil232.com/?p=47</guid>

					<description><![CDATA[In MFT, when file is moved from source to transfer, we can rename the file. This will be useful in scenarios when the file name is different than what is expected Sometime during decryption the extension is lost, we can add a different extension Sometimes we have to append a source to handle files from [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">In MFT, when file is moved from source to transfer, we can rename the file. </p>



<p class="wp-block-paragraph">This will be useful in scenarios when the file name is different than what is expected</p>



<p class="wp-block-paragraph">Sometime during decryption the extension is lost, we can add a different extension </p>



<p class="wp-block-paragraph">Sometimes we have to append a source to handle files from different sources differently  </p>



<p class="wp-block-paragraph">We can use RenameRegExp to rename the file </p>



<p class="wp-block-paragraph">This uses same method as java replace. The input is Regular expression</p>



<p class="wp-block-paragraph">Common use cases and examples </p>



<p class="wp-block-paragraph">to completely rename the file &#8211; </p>



<div class="wp-block-kevinbatdorf-code-block-pro" data-code-block-pro-font-family="" style="font-size:clamp(14px, .875rem, 21px);line-height:clamp(20px, 1.25rem, 30px)"><span role="button" tabindex="0" data-code="String sourceRegExp = &quot;([A-Za-z0-9_]+)([A-Za-z0-9.]*)&quot;;
String targetRegExp = &quot;input_file.csv&quot;;" style="color:#F8F8F2;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki monokai" style="background-color: #272822" tabindex="0"><code><span class="line"><span style="color: #66D9EF; font-style: italic">String</span><span style="color: #F8F8F2"> sourceRegExp </span><span style="color: #F92672">=</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">&quot;([A-Za-z0-9_]+)([A-Za-z0-9.]*)&quot;</span><span style="color: #F8F8F2">;</span></span>
<span class="line"><span style="color: #66D9EF; font-style: italic">String</span><span style="color: #F8F8F2"> targetRegExp </span><span style="color: #F92672">=</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">&quot;input_file.csv&quot;</span><span style="color: #F8F8F2">;</span></span></code></pre></div>



<figure class="wp-block-table"><table><tbody><tr><td><strong>Input </strong></td><td><strong>Output</strong></td></tr><tr><td>ABC_SOME_BIG_FILE_NAME.csv</td><td>input_file.csv</td></tr><tr><td>ABC_SOME_OTHER_FILE_NAME.csv</td><td>input_file.csv</td></tr><tr><td>SOME_FILE_NAME_WITHOUT_EXTENSION</td><td>input_file.csv</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">To completely change the extension </p>



<div class="wp-block-kevinbatdorf-code-block-pro" data-code-block-pro-font-family="" style="font-size:clamp(14px, .875rem, 21px);line-height:clamp(20px, 1.25rem, 30px)"><span role="button" tabindex="0" data-code="String sourceRegExp = &quot;([A-Za-z0-9_]+)([A-Za-z0-9.]*)&quot;;
String targetRegExp = &quot;$1.csv&quot;;" style="color:#F8F8F2;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki monokai" style="background-color: #272822" tabindex="0"><code><span class="line"><span style="color: #66D9EF; font-style: italic">String</span><span style="color: #F8F8F2"> sourceRegExp </span><span style="color: #F92672">=</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">&quot;([A-Za-z0-9_]+)([A-Za-z0-9.]*)&quot;</span><span style="color: #F8F8F2">;</span></span>
<span class="line"><span style="color: #66D9EF; font-style: italic">String</span><span style="color: #F8F8F2"> targetRegExp </span><span style="color: #F92672">=</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">&quot;</span><span style="color: #F8F8F2">$1</span><span style="color: #F92672">.</span><span style="color: #F8F8F2">csv</span><span style="color: #E6DB74">&quot;</span><span style="color: #F8F8F2">;</span></span></code></pre></div>



<figure class="wp-block-table"><table><tbody><tr><td><strong>Input</strong></td><td><strong>Output</strong></td></tr><tr><td> some_data_1.txt </td><td> some_data_1.csv </td></tr><tr><td> some_data_2.dat </td><td> some_data_2.csv </td></tr><tr><td> some_data_3. </td><td> some_data_3.csv </td></tr><tr><td> some_data_4.txt.pgp </td><td> some_data_4.csv </td></tr><tr><td> some_data_5.txt.gpg </td><td> some_data_5.csv </td></tr><tr><td> some_data_6.csv </td><td> some_data_6.csv </td></tr><tr><td> some_data_7 </td><td> some_data_7.csv </td></tr></tbody></table></figure>



<p class="wp-block-paragraph">To add a prefix to the file name.</p>



<div class="wp-block-kevinbatdorf-code-block-pro" data-code-block-pro-font-family="" style="font-size:clamp(14px, .875rem, 21px);line-height:clamp(20px, 1.25rem, 30px)"><span role="button" tabindex="0" data-code="String sourceRegExp = &quot;([A-Za-z0-9_.]+)&quot;;
String targetRegExp = &quot;source_$1&quot;;" style="color:#F8F8F2;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki monokai" style="background-color: #272822" tabindex="0"><code><span class="line"><span style="color: #66D9EF; font-style: italic">String</span><span style="color: #F8F8F2"> sourceRegExp </span><span style="color: #F92672">=</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">&quot;([A-Za-z0-9_.]+)&quot;</span><span style="color: #F8F8F2">;</span></span>
<span class="line"><span style="color: #66D9EF; font-style: italic">String</span><span style="color: #F8F8F2"> targetRegExp </span><span style="color: #F92672">=</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">&quot;source_</span><span style="color: #F8F8F2">$1</span><span style="color: #E6DB74">&quot;</span><span style="color: #F8F8F2">;</span></span></code></pre></div>



<figure class="wp-block-table"><table><tbody><tr><td><strong>Input</strong></td><td><strong>Output</strong></td></tr><tr><td> some_data_1.txt </td><td> source_some_data_1.txt </td></tr><tr><td> some_data_2.dat </td><td> source_some_data_2.dat </td></tr><tr><td> some_data_3. </td><td> source_some_data_3. </td></tr><tr><td> some_data_4.txt.pgp </td><td> source_some_data_4.txt.pgp </td></tr><tr><td> some_data_5.txt.gpg </td><td> source_some_data_5.txt.gpg </td></tr><tr><td> some_data_6.csv </td><td> source_some_data_6.csv </td></tr><tr><td> some_data_7 </td><td> source_some_data_7 </td></tr></tbody></table></figure>



<p class="wp-block-paragraph"></p>



<p class="wp-block-paragraph">Sample Java code to test regular expression if the input / output is as expected:</p>



<div class="wp-block-kevinbatdorf-code-block-pro" data-code-block-pro-font-family="" style="font-size:clamp(14px, .875rem, 21px);line-height:clamp(20px, 1.25rem, 30px)"><span role="button" tabindex="0" data-code="public class RenameString {
    public static void main(String[] args){

        TestCase[] testCases  = new TestCase[7];
      
        testCases[0] = new TestCase(&quot;some_data.txt&quot;, &quot;some_data.csv&quot;);
        testCases[1] = new TestCase(&quot;some_data.dat&quot;, &quot;some_data.csv&quot;);
        testCases[2] = new TestCase(&quot;some_data.&quot;, &quot;some_data.csv&quot;);
        testCases[3] = new TestCase(&quot;some_data.txt.pgp&quot;, &quot;some_data.csv&quot;);
        testCases[4] = new TestCase(&quot;some_data.txt.gpg&quot;, &quot;some_data.csv&quot;);
        testCases[5] = new TestCase(&quot;some_data.csv&quot;, &quot;some_data.csv&quot;);
        testCases[6] = new TestCase(&quot;some_data&quot;, &quot;some_data.csv&quot;);
    
        for ( TestCase t : testCases) {
            String output = renameFileNameExtension(t.inputStr);

            System.out.print(t.inputStr + &quot; --- &quot; + t.expectedOutputStr + &quot; --- &quot; + output + &quot; --- &quot; );

            if ( output.equals(t.expectedOutputStr) ) {
                System.out.println(&quot;success&quot;);
            }
            else {
                System.out.println(&quot;failed&quot;);
            }
        }
    }

    public static String renameFileNameExtension(String inputStr) {
        
        String sourceRegExp = &quot;([A-Za-z0-9_]+)([A-Za-z0-9.]*)&quot;;
        String targetRegExp = &quot;$1.csv&quot;;

        String output = inputStr.replaceAll(sourceRegExp, targetRegExp);

        return output;
    }

}

class TestCase {
    String inputStr;
    String expectedOutputStr;

    TestCase(String inputStr, String expectedOutputStr){
        this.inputStr = inputStr;
        this.expectedOutputStr = expectedOutputStr;
    }
}" style="color:#F8F8F2;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki monokai" style="background-color: #272822" tabindex="0"><code><span class="line"><span style="color: #F92672">public</span><span style="color: #F8F8F2"> </span><span style="color: #F92672">class</span><span style="color: #F8F8F2"> </span><span style="color: #A6E22E; text-decoration: underline">RenameString</span><span style="color: #F8F8F2"> {</span></span>
<span class="line"><span style="color: #F8F8F2">    </span><span style="color: #F92672">public</span><span style="color: #F8F8F2"> </span><span style="color: #F92672">static</span><span style="color: #F8F8F2"> </span><span style="color: #66D9EF; font-style: italic">void</span><span style="color: #F8F8F2"> </span><span style="color: #A6E22E">main</span><span style="color: #F8F8F2">(</span><span style="color: #66D9EF; font-style: italic">String</span><span style="color: #F8F8F2">[] </span><span style="color: #FD971F; font-style: italic">args</span><span style="color: #F8F8F2">){</span></span>
<span class="line"></span>
<span class="line"><span style="color: #F8F8F2">        </span><span style="color: #66D9EF; font-style: italic">TestCase</span><span style="color: #F8F8F2">[] testCases  </span><span style="color: #F92672">=</span><span style="color: #F8F8F2"> </span><span style="color: #F92672">new</span><span style="color: #F8F8F2"> </span><span style="color: #66D9EF; font-style: italic">TestCase</span><span style="color: #F8F8F2">[</span><span style="color: #AE81FF">7</span><span style="color: #F8F8F2">];</span></span>
<span class="line"><span style="color: #F8F8F2">      </span></span>
<span class="line"><span style="color: #F8F8F2">        testCases[</span><span style="color: #AE81FF">0</span><span style="color: #F8F8F2">] </span><span style="color: #F92672">=</span><span style="color: #F8F8F2"> </span><span style="color: #F92672">new</span><span style="color: #F8F8F2"> </span><span style="color: #66D9EF; font-style: italic">TestCase</span><span style="color: #F8F8F2">(</span><span style="color: #E6DB74">&quot;some_data.txt&quot;</span><span style="color: #F8F8F2">, </span><span style="color: #E6DB74">&quot;some_data.csv&quot;</span><span style="color: #F8F8F2">);</span></span>
<span class="line"><span style="color: #F8F8F2">        testCases[</span><span style="color: #AE81FF">1</span><span style="color: #F8F8F2">] </span><span style="color: #F92672">=</span><span style="color: #F8F8F2"> </span><span style="color: #F92672">new</span><span style="color: #F8F8F2"> </span><span style="color: #66D9EF; font-style: italic">TestCase</span><span style="color: #F8F8F2">(</span><span style="color: #E6DB74">&quot;some_data.dat&quot;</span><span style="color: #F8F8F2">, </span><span style="color: #E6DB74">&quot;some_data.csv&quot;</span><span style="color: #F8F8F2">);</span></span>
<span class="line"><span style="color: #F8F8F2">        testCases[</span><span style="color: #AE81FF">2</span><span style="color: #F8F8F2">] </span><span style="color: #F92672">=</span><span style="color: #F8F8F2"> </span><span style="color: #F92672">new</span><span style="color: #F8F8F2"> </span><span style="color: #66D9EF; font-style: italic">TestCase</span><span style="color: #F8F8F2">(</span><span style="color: #E6DB74">&quot;some_data.&quot;</span><span style="color: #F8F8F2">, </span><span style="color: #E6DB74">&quot;some_data.csv&quot;</span><span style="color: #F8F8F2">);</span></span>
<span class="line"><span style="color: #F8F8F2">        testCases[</span><span style="color: #AE81FF">3</span><span style="color: #F8F8F2">] </span><span style="color: #F92672">=</span><span style="color: #F8F8F2"> </span><span style="color: #F92672">new</span><span style="color: #F8F8F2"> </span><span style="color: #66D9EF; font-style: italic">TestCase</span><span style="color: #F8F8F2">(</span><span style="color: #E6DB74">&quot;some_data.txt.pgp&quot;</span><span style="color: #F8F8F2">, </span><span style="color: #E6DB74">&quot;some_data.csv&quot;</span><span style="color: #F8F8F2">);</span></span>
<span class="line"><span style="color: #F8F8F2">        testCases[</span><span style="color: #AE81FF">4</span><span style="color: #F8F8F2">] </span><span style="color: #F92672">=</span><span style="color: #F8F8F2"> </span><span style="color: #F92672">new</span><span style="color: #F8F8F2"> </span><span style="color: #66D9EF; font-style: italic">TestCase</span><span style="color: #F8F8F2">(</span><span style="color: #E6DB74">&quot;some_data.txt.gpg&quot;</span><span style="color: #F8F8F2">, </span><span style="color: #E6DB74">&quot;some_data.csv&quot;</span><span style="color: #F8F8F2">);</span></span>
<span class="line"><span style="color: #F8F8F2">        testCases[</span><span style="color: #AE81FF">5</span><span style="color: #F8F8F2">] </span><span style="color: #F92672">=</span><span style="color: #F8F8F2"> </span><span style="color: #F92672">new</span><span style="color: #F8F8F2"> </span><span style="color: #66D9EF; font-style: italic">TestCase</span><span style="color: #F8F8F2">(</span><span style="color: #E6DB74">&quot;some_data.csv&quot;</span><span style="color: #F8F8F2">, </span><span style="color: #E6DB74">&quot;some_data.csv&quot;</span><span style="color: #F8F8F2">);</span></span>
<span class="line"><span style="color: #F8F8F2">        testCases[</span><span style="color: #AE81FF">6</span><span style="color: #F8F8F2">] </span><span style="color: #F92672">=</span><span style="color: #F8F8F2"> </span><span style="color: #F92672">new</span><span style="color: #F8F8F2"> </span><span style="color: #66D9EF; font-style: italic">TestCase</span><span style="color: #F8F8F2">(</span><span style="color: #E6DB74">&quot;some_data&quot;</span><span style="color: #F8F8F2">, </span><span style="color: #E6DB74">&quot;some_data.csv&quot;</span><span style="color: #F8F8F2">);</span></span>
<span class="line"><span style="color: #F8F8F2">    </span></span>
<span class="line"><span style="color: #F8F8F2">        </span><span style="color: #F92672">for</span><span style="color: #F8F8F2"> ( </span><span style="color: #66D9EF; font-style: italic">TestCase</span><span style="color: #F8F8F2"> </span><span style="color: #AE81FF">t</span><span style="color: #F8F8F2"> : testCases) {</span></span>
<span class="line"><span style="color: #F8F8F2">            </span><span style="color: #66D9EF; font-style: italic">String</span><span style="color: #F8F8F2"> output </span><span style="color: #F92672">=</span><span style="color: #F8F8F2"> renameFileNameExtension(t</span><span style="color: #F92672">.</span><span style="color: #F8F8F2">inputStr);</span></span>
<span class="line"></span>
<span class="line"><span style="color: #F8F8F2">            </span><span style="color: #66D9EF; font-style: italic">System</span><span style="color: #F92672">.</span><span style="color: #F8F8F2">out</span><span style="color: #F92672">.</span><span style="color: #66D9EF">print</span><span style="color: #F8F8F2">(t</span><span style="color: #F92672">.</span><span style="color: #F8F8F2">inputStr </span><span style="color: #F92672">+</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">&quot; --- &quot;</span><span style="color: #F8F8F2"> </span><span style="color: #F92672">+</span><span style="color: #F8F8F2"> t</span><span style="color: #F92672">.</span><span style="color: #F8F8F2">expectedOutputStr </span><span style="color: #F92672">+</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">&quot; --- &quot;</span><span style="color: #F8F8F2"> </span><span style="color: #F92672">+</span><span style="color: #F8F8F2"> output </span><span style="color: #F92672">+</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">&quot; --- &quot;</span><span style="color: #F8F8F2"> );</span></span>
<span class="line"></span>
<span class="line"><span style="color: #F8F8F2">            </span><span style="color: #F92672">if</span><span style="color: #F8F8F2"> ( output</span><span style="color: #F92672">.</span><span style="color: #F8F8F2">equals(t</span><span style="color: #F92672">.</span><span style="color: #F8F8F2">expectedOutputStr) ) {</span></span>
<span class="line"><span style="color: #F8F8F2">                </span><span style="color: #66D9EF; font-style: italic">System</span><span style="color: #F92672">.</span><span style="color: #F8F8F2">out</span><span style="color: #F92672">.</span><span style="color: #66D9EF">println</span><span style="color: #F8F8F2">(</span><span style="color: #E6DB74">&quot;success&quot;</span><span style="color: #F8F8F2">);</span></span>
<span class="line"><span style="color: #F8F8F2">            }</span></span>
<span class="line"><span style="color: #F8F8F2">            </span><span style="color: #F92672">else</span><span style="color: #F8F8F2"> {</span></span>
<span class="line"><span style="color: #F8F8F2">                </span><span style="color: #66D9EF; font-style: italic">System</span><span style="color: #F92672">.</span><span style="color: #F8F8F2">out</span><span style="color: #F92672">.</span><span style="color: #66D9EF">println</span><span style="color: #F8F8F2">(</span><span style="color: #E6DB74">&quot;failed&quot;</span><span style="color: #F8F8F2">);</span></span>
<span class="line"><span style="color: #F8F8F2">            }</span></span>
<span class="line"><span style="color: #F8F8F2">        }</span></span>
<span class="line"><span style="color: #F8F8F2">    }</span></span>
<span class="line"></span>
<span class="line"><span style="color: #F8F8F2">    </span><span style="color: #F92672">public</span><span style="color: #F8F8F2"> </span><span style="color: #F92672">static</span><span style="color: #F8F8F2"> </span><span style="color: #66D9EF; font-style: italic">String</span><span style="color: #F8F8F2"> </span><span style="color: #A6E22E">renameFileNameExtension</span><span style="color: #F8F8F2">(</span><span style="color: #66D9EF; font-style: italic">String</span><span style="color: #F8F8F2"> </span><span style="color: #FD971F; font-style: italic">inputStr</span><span style="color: #F8F8F2">) {</span></span>
<span class="line"><span style="color: #F8F8F2">        </span></span>
<span class="line"><span style="color: #F8F8F2">        </span><span style="color: #66D9EF; font-style: italic">String</span><span style="color: #F8F8F2"> sourceRegExp </span><span style="color: #F92672">=</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">&quot;([A-Za-z0-9_]+)([A-Za-z0-9.]*)&quot;</span><span style="color: #F8F8F2">;</span></span>
<span class="line"><span style="color: #F8F8F2">        </span><span style="color: #66D9EF; font-style: italic">String</span><span style="color: #F8F8F2"> targetRegExp </span><span style="color: #F92672">=</span><span style="color: #F8F8F2"> </span><span style="color: #E6DB74">&quot;</span><span style="color: #F8F8F2">$1</span><span style="color: #F92672">.</span><span style="color: #F8F8F2">csv</span><span style="color: #E6DB74">&quot;</span><span style="color: #F8F8F2">;</span></span>
<span class="line"></span>
<span class="line"><span style="color: #F8F8F2">        </span><span style="color: #66D9EF; font-style: italic">String</span><span style="color: #F8F8F2"> output </span><span style="color: #F92672">=</span><span style="color: #F8F8F2"> inputStr</span><span style="color: #F92672">.</span><span style="color: #F8F8F2">replaceAll(sourceRegExp, targetRegExp);</span></span>
<span class="line"></span>
<span class="line"><span style="color: #F8F8F2">        </span><span style="color: #F92672">return</span><span style="color: #F8F8F2"> output;</span></span>
<span class="line"><span style="color: #F8F8F2">    }</span></span>
<span class="line"></span>
<span class="line"><span style="color: #F8F8F2">}</span></span>
<span class="line"></span>
<span class="line"><span style="color: #F92672">class</span><span style="color: #F8F8F2"> </span><span style="color: #A6E22E; text-decoration: underline">TestCase</span><span style="color: #F8F8F2"> {</span></span>
<span class="line"><span style="color: #F8F8F2">    </span><span style="color: #66D9EF; font-style: italic">String</span><span style="color: #F8F8F2"> inputStr;</span></span>
<span class="line"><span style="color: #F8F8F2">    </span><span style="color: #66D9EF; font-style: italic">String</span><span style="color: #F8F8F2"> expectedOutputStr;</span></span>
<span class="line"></span>
<span class="line"><span style="color: #F8F8F2">    </span><span style="color: #A6E22E">TestCase</span><span style="color: #F8F8F2">(</span><span style="color: #66D9EF; font-style: italic">String</span><span style="color: #F8F8F2"> </span><span style="color: #FD971F; font-style: italic">inputStr</span><span style="color: #F8F8F2">, </span><span style="color: #66D9EF; font-style: italic">String</span><span style="color: #F8F8F2"> </span><span style="color: #FD971F; font-style: italic">expectedOutputStr</span><span style="color: #F8F8F2">){</span></span>
<span class="line"><span style="color: #F8F8F2">        </span><span style="color: #FD971F">this</span><span style="color: #F92672">.</span><span style="color: #F8F8F2">inputStr </span><span style="color: #F92672">=</span><span style="color: #F8F8F2"> inputStr;</span></span>
<span class="line"><span style="color: #F8F8F2">        </span><span style="color: #FD971F">this</span><span style="color: #F92672">.</span><span style="color: #F8F8F2">expectedOutputStr </span><span style="color: #F92672">=</span><span style="color: #F8F8F2"> expectedOutputStr;</span></span>
<span class="line"><span style="color: #F8F8F2">    }</span></span>
<span class="line"><span style="color: #F8F8F2">}</span></span></code></pre></div>



<p class="wp-block-paragraph">You can test Regular expression using this website <a href="https://regex101.com/">https://regex101.com/</a> and selecting Java language.</p>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">47</post-id>	</item>
	</channel>
</rss>
