<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[Серый форум &mdash; VBScript: Замена символов в строке]]></title>
		<link>https://forum.script-coding.com/viewtopic.php?id=8648</link>
		<atom:link href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=8648&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «VBScript: Замена символов в строке».]]></description>
		<lastBuildDate>Wed, 04 Sep 2013 12:37:49 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: VBScript: Замена символов в строке]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=75199#p75199</link>
			<description><![CDATA[<p>все сработало отлично, видимо я что-то опять наворотил в коде !!!!</p>]]></description>
			<author><![CDATA[null@example.com (d_alexei)]]></author>
			<pubDate>Wed, 04 Sep 2013 12:37:49 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=75199#p75199</guid>
		</item>
		<item>
			<title><![CDATA[Re: VBScript: Замена символов в строке]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=75198#p75198</link>
			<description><![CDATA[<div class="quotebox"><blockquote><p>Спасибо, но не совсем то.<br /> Мне надо заменить все email на пустое значение, т.е. на &quot;,,&quot;.</p></blockquote></div><p>Этого не было в техзадании. Было же приведено — конкретная строка.</p><div class="quotebox"><blockquote><p>Сейчас читаю регулярные выражения</p></blockquote></div><p>Всё верно. Пример шаблона привёл коллега <strong>Rumata</strong>.<br /></p><div class="codebox"><pre><code>Option Explicit

Const ForWriting = 2

Dim strContent
Dim objRegExp


Set objRegExp = WScript.CreateObject(&quot;VBScript.RegExp&quot;)

With objRegExp
    .Pattern = &quot;,[^,]+@[^,]+,&quot;
    .Global  = True
End With

With WScript.CreateObject(&quot;Scripting.FileSystemObject&quot;)
    With .OpenTextFile(&quot;c:\file.csv&quot;)
        strContent = .ReadAll()
        .Close
    End With
    
    With .OpenTextFile(&quot;c:\file.log&quot;, ForWriting, True)
        .WriteLine objRegExp.Replace(strContent, &quot;,,&quot;)
        .Close
    End With
End With

Set objRegExp = Nothing

WScript.Quit 0</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (alexii)]]></author>
			<pubDate>Wed, 04 Sep 2013 12:29:58 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=75198#p75198</guid>
		</item>
		<item>
			<title><![CDATA[Re: VBScript: Замена символов в строке]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=75197#p75197</link>
			<description><![CDATA[<p>Спасибо, похоже то, что я и искал. Только теперь еще одна проблемка, не могу сообразить почему не пишет в файл замену. Код такой :</p><div class="codebox"><pre><code>Set objFSO = CreateObject(&quot;Scripting.FileSystemObject&quot;)
Set WshShell = CreateObject(&quot;WScript.Shell&quot;)
Set objRegExp = CreateObject(&quot;VBScript.RegExp&quot;)
Set objStream = objFSO.OpenTextFile(&quot;c:\file.csv&quot;)
Set Read_log = objFSO.OpenTextFile(&quot;c:\file.log&quot;, 2, True) 
objRegExp.Global = True
objRegExp.Pattern = &quot;[^,]+@[^,]+&quot;
Do While objStream.AtEndOfStream &lt;&gt; True
strLine = objStream.ReadLine

    WScript.Echo  &quot;strLine - &quot; &amp; strLine
    v1 = InStr (1,strLine,&quot;@&quot;) 
    If v1 &gt;0 Then 
    Set objMatches = objRegExp.Execute(strLine)
    strNewText = Replace(strLine, objRegExp.Pattern, &quot;&quot;, 1, 1)
    Read_log.WriteLine strNewText
    WScript.Echo &quot;objMatches.Count = &quot; &amp; objMatches.Count
    End if

Loop
objStream.Close</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (d_alexei)]]></author>
			<pubDate>Wed, 04 Sep 2013 12:29:03 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=75197#p75197</guid>
		</item>
		<item>
			<title><![CDATA[Re: VBScript: Замена символов в строке]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=75196#p75196</link>
			<description><![CDATA[<div class="quotebox"><cite>d_alexei пишет:</cite><blockquote><p>Сейчас читаю регулярные выражения, но тоже не совсем то, или я не умею их использовать. Все, что по шаблону @mail ищется и заменяется легко, а вот что стоит до @ не видится.</p></blockquote></div><p>Вам нужно в строке &quot;что-то-в-начале,нечто@еще-нечто,что-то-в-конце&quot; найтит подстроку вида &quot;нечто@еще-нечто&quot; и удалить ее. Если Вы посмотрите внимательно, то увидите, что удаляемая часть находится между запятыми и идентифицируется наличием &quot;собачки&quot; @. Вот и ищите - &quot;не-запятые-собачка-не-запятые&quot;: <br /></p><div class="codebox"><pre><code>[^,]+@[^,]+</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (Rumata)]]></author>
			<pubDate>Wed, 04 Sep 2013 12:04:40 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=75196#p75196</guid>
		</item>
		<item>
			<title><![CDATA[Re: VBScript: Замена символов в строке]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=75195#p75195</link>
			<description><![CDATA[<p>Спасибо, но не совсем то.<br />Мне надо заменить все email на пустое значение, т.е. на &quot;,,&quot;. Т.е. все, что находится между запятыми и если содержит @ , то надо убрать. Сейчас читаю регулярные выражения, но тоже не совсем то, или я не умею их использовать. Все, что по шаблону @mail ищется и заменяется легко, а вот что стоит до @ не видится.</p>]]></description>
			<author><![CDATA[null@example.com (d_alexei)]]></author>
			<pubDate>Wed, 04 Sep 2013 11:32:13 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=75195#p75195</guid>
		</item>
		<item>
			<title><![CDATA[Re: VBScript: Замена символов в строке]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=75192#p75192</link>
			<description><![CDATA[<div class="codebox"><pre><code>Option Explicit

Const ForWriting = 2

With WScript.CreateObject(&quot;Scripting.FileSystemObject&quot;)
    With .OpenTextFile(&quot;c:\file.csv&quot;)
        strContent = .ReadAll()
        .Close
    End With
    
    With .OpenTextFile(&quot;c:\file.log&quot;, ForWriting, True)
        .WriteLine Replace(strContent, &quot;1@mail&quot;, &quot;&quot;)
        .Close
    End With
End With

WScript.Quit 0
</code></pre></div><p>Не проверялось.</p>]]></description>
			<author><![CDATA[null@example.com (alexii)]]></author>
			<pubDate>Wed, 04 Sep 2013 10:25:35 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=75192#p75192</guid>
		</item>
		<item>
			<title><![CDATA[VBScript: Замена символов в строке]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=75190#p75190</link>
			<description><![CDATA[<p>Понимаю, что тема много раз описана, но не нашел ответ на свой вопрос :<br />есть csv файл? в нем надо найти в строках все &quot;,1@mail,&quot; и заменить на &quot;,,&quot;<br /><span style="color: Green"><strong>П</strong></span>ытаюсь сделать так :<br /></p><div class="codebox"><pre><code>Set objFSO = CreateObject(&quot;Scripting.FileSystemObject&quot;)
Set WshShell = CreateObject(&quot;WScript.Shell&quot;)
Set objStream = objFSO.OpenTextFile(&quot;c:\file.csv&quot;)
Set Read_log = objFSO.OpenTextFile(&quot;c:\file.log&quot;, 2, True) 
Do While objStream.AtEndOfStream &lt;&gt; True
strLine = objStream.ReadLine
    v1 = InStr (1,strLine,&quot;@&quot;) 
    If v1 &gt;0 Then 
    Read_log.WriteLine Replace(strLine, &quot;@&quot;, &quot;&quot;, 1, 1)
    End if
Loop
objStream.Close</code></pre></div><p><span style="color: Green"><strong>С</strong></span>ам символ @ он ищет и меняет, но мне надо все, что находится между запятыми стереть и поставить просто ,,</p><p><span style="color: Green"><strong>П</strong></span>одскажите плиз!</p>]]></description>
			<author><![CDATA[null@example.com (d_alexei)]]></author>
			<pubDate>Wed, 04 Sep 2013 09:15:54 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=75190#p75190</guid>
		</item>
	</channel>
</rss>
