<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
<title><![CDATA[刘新修]]></title> 
<link>http://liuxinxiu.com:80/index.php</link> 
<description><![CDATA[刘新修的个人博客 (Liuxinxiu'S Blog)]]></description> 
<language>zh-cn</language> 
<copyright><![CDATA[刘新修]]></copyright>
<item>
<link>http://liuxinxiu.com:80/s//</link>
<title><![CDATA[字符串遍历拼接、字符串局部清除、字符串局部插入，等逻辑]]></title> 
<author>刘新修 &lt;admin@yourname.com&gt;</author>
<category><![CDATA[H5/JS/CSS]]></category>
<pubDate>Tue, 24 Dec 2024 11:57:56 +0000</pubDate> 
<guid>http://liuxinxiu.com:80/s//</guid> 
<description>
<![CDATA[ 
	<div class="codeText"><div class="codeHead">JavaScript代码</div><ol start="1" class="dp-c"><li class="alt"><span><span class="comment">/*** 清空指定字符串之间的内容(包括起始字符) ***/</span><span>&nbsp;&nbsp;</span></span></li><li><span><span class="keyword">function</span><span> deleteBetweenCharacters(str, startChar, endChar) &#123;&nbsp;&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="comment">/*** 容错处理 ***/</span><span>&nbsp;&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">if</span><span> (</span><span class="keyword">typeof</span><span>(str) == </span><span class="string">'undefined'</span><span> &#124;&#124;&nbsp;&nbsp; </span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">typeof</span><span>(startChar) == </span><span class="string">'undefined'</span><span> &#124;&#124;&nbsp;&nbsp; </span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">typeof</span><span>(endChar) == </span><span class="string">'undefined'</span><span>) &#123;&nbsp;&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">return</span><span> </span><span class="keyword">false</span><span>;&nbsp;&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&#125;&nbsp;&nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="comment">/*** 起始替换逻辑 ***/</span><span>&nbsp;&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;let startIndex = str.indexOf(startChar);&nbsp;&nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;let endIndex = str.indexOf(endChar);&nbsp;&nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">while</span><span> (startIndex !== -1 &amp;&amp; endIndex !== -1) &#123;&nbsp;&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;str = str.substring(0, startIndex) + str.substring(endIndex + 1);&nbsp;&nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;startIndex = str.indexOf(startChar);&nbsp;&nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;endIndex = str.indexOf(endChar);&nbsp;&nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&#125;&nbsp;&nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">return</span><span> str;&nbsp;&nbsp;</span></span></li><li><span>&#125;&nbsp;&nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;</span></li><li><span><span class="comment">/*** 向字符串指定位置插入字符(业务标记符) ***/</span><span>&nbsp;&nbsp;</span></span></li><li class="alt"><span><span class="keyword">function</span><span> insertString(str, insertStr, index) &#123;&nbsp;&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="comment">/*** 容错处理 ***/</span><span>&nbsp;&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">if</span><span> (</span><span class="keyword">typeof</span><span>(str) == </span><span class="string">'undefined'</span><span> &#124;&#124;&nbsp;&nbsp; </span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">typeof</span><span>(insertStr) == </span><span class="string">'undefined'</span><span> &#124;&#124;&nbsp;&nbsp; </span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">typeof</span><span>(index) == </span><span class="string">'undefined'</span><span>) &#123;&nbsp;&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">return</span><span> </span><span class="keyword">false</span><span>;&nbsp;&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&#125;&nbsp;&nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">return</span><span> str.slice(0, index) + insertStr + str.slice(index);&nbsp;&nbsp;</span></span></li><li class="alt"><span>&#125;&nbsp;&nbsp;</span></li><li><span>&nbsp;&nbsp;</span></li><li class="alt"><span><span class="comment">/*** 业务处理主函数 ***/</span><span>&nbsp;&nbsp;</span></span></li><li><span><span class="keyword">function</span><span> main (str, startChar, endChar, itemNames) &#123;&nbsp;&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="comment">/*** 容错处理 ***/</span><span>&nbsp;&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">if</span><span> (</span><span class="keyword">typeof</span><span>(str) == </span><span class="string">'undefined'</span><span> &#124;&#124;&nbsp;&nbsp; </span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">typeof</span><span>(startChar) == </span><span class="string">'undefined'</span><span> &#124;&#124;&nbsp;&nbsp; </span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">typeof</span><span>(endChar) == </span><span class="string">'undefined'</span><span> &#124;&#124;&nbsp;&nbsp; </span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">typeof</span><span>(itemNames) == </span><span class="string">'undefined'</span><span>) &#123;&nbsp;&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">return</span><span> </span><span class="keyword">false</span><span>;&nbsp;&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&#125;&nbsp;&nbsp;</span></li><li><span>&nbsp;&nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">var</span><span> newStrData = str;&nbsp;&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">var</span><span> startIndex = str.indexOf(startChar);&nbsp;&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="comment">/*** 如果是首次出现 ***/</span><span>&nbsp;&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">if</span><span> (str.indexOf(</span><span class="string">'--'</span><span>) == -1) &#123;&nbsp;&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;str = insertString(newStrData, <span class="string">'--'</span><span>, startIndex);&nbsp;&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="comment">/*** 调用清除方法 ***/</span><span>&nbsp;&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;let data = deleteBetweenCharacters(str, startChar, endChar);&nbsp;&nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;let replacedStr = data? data.replace(/--/g, itemNames) : <span class="string">''</span><span>;&nbsp;&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">return</span><span> replacedStr;&nbsp;&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&#125;&nbsp;&nbsp;</span></li><li class="alt"><span>&#125;&nbsp;&nbsp;</span></li><li><span><span class="comment">// 示例用法</span><span>&nbsp;&nbsp;</span></span></li><li class="alt"><span><span class="comment">// const inputString = &quot;This is 【some】 example 【string】 with 【special】 characters.&quot;;</span><span>&nbsp;&nbsp;</span></span></li><li><span><span class="comment">// const str = main(inputString, &quot;【&quot;, &quot;】&quot;)</span><span>&nbsp;&nbsp;</span></span></li><li class="alt"><span><span class="comment">// console.log(str);</span><span>&nbsp;&nbsp;</span></span></li><li><span>&nbsp;&nbsp;</span></li><li class="alt"><span><span class="comment">/*** 业务源数据 ***/</span><span>&nbsp;&nbsp;</span></span></li><li><span>let dataList = [&nbsp;&nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&#123;idStorage: 1, name: <span class="string">'red'</span><span>, riskItem: </span><span class="string">''</span><span>, suggest: </span><span class="string">'建议核实【】实际配件价格，剔除多定金额。'</span><span>&#125;,&nbsp;&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&#123;idStorage: 1, name: <span class="string">'red1'</span><span>, riskItem: </span><span class="string">''</span><span>, suggest: </span><span class="string">'建议核实【高压电池包】【高压电池包】实际配件价格，剔除多定金额。'</span><span>&#125;,&nbsp;&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&#123;idStorage: 2, name: <span class="string">'sese'</span><span>, riskItem: </span><span class="string">''</span><span>, suggest: </span><span class="string">'建议核实【】实际配件价格，剔除多定金额。'</span><span>&#125;,&nbsp;&nbsp;&nbsp;&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&#123;idStorage: 1, name: <span class="string">'red'</span><span>, riskItem: </span><span class="string">''</span><span>, suggest: </span><span class="string">'建议核实【】实际配件价格，剔除多定金额。'</span><span>&#125;,&nbsp;&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&#123;idStorage: 3, name: <span class="string">'bbbd'</span><span>, riskItem: </span><span class="string">''</span><span>, suggest: </span><span class="string">'建议核实【】实际配件价格，剔除多定金额。'</span><span>&#125;&nbsp;&nbsp;</span></span></li><li><span>&nbsp;&nbsp;];&nbsp;&nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;</span></li><li><span><span class="comment">/*** 拼接字符串小模板(备用) ***/</span><span>&nbsp;&nbsp;</span></span></li><li class="alt"><span>let itemNames = <span class="string">'【'</span><span> + dataList.filter(item =&gt; item.idStorage === 1).map(item =&gt; item.name).join(</span><span class="string">'】【'</span><span>) + </span><span class="string">'】'</span><span>;&nbsp;&nbsp;</span></span></li><li><span>console.log(<span class="string">'itemNames'</span><span>, itemNames)&nbsp;&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;</span></li><li><span><span class="comment">/*** 拷贝源数据备用 ***/</span><span>&nbsp;&nbsp;</span></span></li><li class="alt"><span><span class="keyword">var</span><span> arr = JSON.parse(JSON.stringify(dataList))&nbsp;&nbsp;</span></span></li><li><span><span class="keyword">for</span><span> (</span><span class="keyword">var</span><span> i = 0; i &lt; arr.length; i++) &#123;&nbsp;&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">if</span><span> (arr[i].idStorage == 1) &#123;&nbsp;&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;arr[i].suggest = main(arr[i].suggest, <span class="string">&quot;【&quot;</span><span>, </span><span class="string">&quot;】&quot;</span><span>, itemNames)&nbsp;&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&#125;&nbsp;&nbsp;</span></li><li><span>&#125;&nbsp;&nbsp;</span></li><li class="alt"><span>console.log(<span class="string">'arr'</span><span>, arr)&nbsp;&nbsp;</span></span></li></ol></div><div class="codeText"><div class="codeHead">JavaScript代码</div><ol start="1" class="dp-c"><li class="alt"><span><span class="keyword">const</span><span>&nbsp;inputString&nbsp;=&nbsp;</span><span class="string">&quot;This&nbsp;is&nbsp;【some】&nbsp;example&nbsp;【string】&nbsp;with&nbsp;【special】&nbsp;characters.&quot;</span><span>;&nbsp;&nbsp;</span></span></li><li><span><span class="keyword">const</span><span>&nbsp;str&nbsp;=&nbsp;deleteBetweenCharacters(inputString,&nbsp;</span><span class="string">&quot;【&quot;</span><span>,&nbsp;</span><span class="string">&quot;】&quot;</span><span>)&nbsp;&nbsp;</span></span></li><li class="alt"><span>console.log(str);&nbsp;&nbsp;</span></li><li><span>//This&nbsp;is&nbsp;&nbsp;example&nbsp;&nbsp;<span class="keyword">with</span><span>&nbsp;&nbsp;characters.&nbsp;&nbsp;</span></span></li></ol></div><p>&nbsp;</p>
]]>
</description>
</item><item>
<link>http://liuxinxiu.com:80/s//#blogcomment</link>
<title><![CDATA[[评论] 字符串遍历拼接、字符串局部清除、字符串局部插入，等逻辑]]></title> 
<author> &lt;user@domain.com&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate> 
<guid>http://liuxinxiu.com:80/s//#blogcomment</guid> 
<description>
<![CDATA[ 
	
]]>
</description>
</item>
</channel>
</rss>