use*_*926 0 javascript xml string replace
我正在尝试使用replace方法将"'"字符替换为"''"字符串,如下所示:
temp.replace("\'", "''");
Run Code Online (Sandbox Code Playgroud)
但它似乎并没有取代任何东西.我应该如何编写命令以便用想要的字符串替换想要的字符(我试图在下一个xml中替换它):
<Module ForceTabs="1">
<Events>
<Event Value="onafter_moduleinit_beforedraw()" Type="onafter_moduleinit_beforedraw"/>
</Events>
<Section Id="Header" Type="header" Caption="Header" ContainerCSS="background:#C1E0F4;border-bottom:2px groove;margin-bottom:3px;padding:10 3 3 3">
<Containers>
<Form Id="Header" Caption="General Details" Source="Request" Layout="Fixed">
<Layout>
<table cellaspacing="0" cellpadding="0">
<tr>
<td>
<ControlRef Id="Origin" ShowCaption="1"/>
</td>
<td>
<ControlRef Id="Type" ShowCaption="1"/>
</td>
<td>
<ControlRef Id="Process" ShowCaption="1"/>
</td>
<td width="20" align="center">
<span class="separator"/>
</td>
<td>
<ControlRef Id="FindBy" ShowCaption="1"/>
</td>
<td>
<ControlRef Id="Find"/>
</td>
<td>
<button width="30" onclick="doFindCustomer()">
<Caption Caption="GO"/>
</button>
</td>
</tr>
</table>
</Layout>
<Controls>
<Control Id="Origin" Caption="Origin" FieldName="Origin" DataType="string" Width="90" CaptionWidth="70" ReadOnly="1" Mandatory="1" Hidden="1"/>
<Control Id="Type" Caption="Type" FieldName="Type" DataType="select" Width="60" CaptionWidth="40" ReadOnly="1" Mandatory="1" DefaultValue="Service" Hidden="1">
<Member Value="Allert" Caption="Allert"/>
<Member Value="Service" Caption="Service"/>
<Member Value="Marketing" Caption="Marketing"/>
</Control>
<Control Id="Process" Caption="Process" FieldName="Process" DataType="string" Width="90" CaptionWidth="70" ReadOnly="1" Mandatory="1" Hidden="1"/>
<Control Id="FindBy" Caption="Find:" VCaption="Find By" FieldName="FindBy" DataType="select" Width="90" CaptionWidth="50" ReadOnly="0" Mandatory="0" CaptionCSS="font-weight:bold" DefaultValue="IMTSI">
<Member Value="IMTSI" Caption="IMTSI"/>
<Member Value="ID" Caption="ID"/>
</Control>
<Control Id="Find" Caption="Find Value" FieldName="Find" DataType="string" Width="90" CaptionWidth="60" ReadOnly="0" Mandatory="0" CaptionCSS="font-weight:bold"/>
</Controls>
</Form>
</Containers>
</Section>
<Section Id="1" Type="page" Caption="Message Details">
<Containers>
<Form Id="General" Caption="General Details" Source="Request" Layout="Fixed">
<Controls>
<Control Id="MessageType" Caption="Message Type" Source="Param[@Name = 'MessageType']" FieldName="Value" DataType="select" Width="150" CaptionWidth="120" ReadOnly="1" Mandatory="1" DefaultValue="Allert" Action="handleMessageTypeChange()" BreakAfter="0">
<Member Value="SMS" Caption="SMS"/>
<Member Value="EMAIL" Caption="EMAIL"/>
<Member Value="ATOS" Caption="ATOS"/>
<Member Value="SELF SERVICE" Caption="SELF SERVICE"/>
</Control>
<Control Id="Language" Caption="Language" Source="Param[@Name = 'Language']" FieldName="Value" DataType="string" Width="100" CaptionWidth="90" ReadOnly="1" BreakAfter="1"/>
<Control Id="FirstName" Caption="First Name" Source="Param[@Name = 'FirstName']" FieldName="Value" DataType="string" Width="350" CaptionWidth="120" BreakAfter="1"/>
<Control Id="LastName" Caption="Last Name" Source="Param[@Name = 'LastName']" FieldName="Value" DataType="string" Width="350" CaptionWidth="120" BreakAfter="1"/>
<Control Id="IMTSI" Caption="IMTSI" Source="Param[@Name = 'IMTSI']" FieldName="Value" DataType="string" Width="350" CaptionWidth="120" BreakAfter="1" Mandatory="0"/>
<Control Id="Mobile" Caption="Mobile" Source="Param[@Name = 'Mobile']" FieldName="Value" DataType="string" Width="350" CaptionWidth="120" BreakAfter="1" Mandatory="1"/>
<Control Id="Email" Caption="Email" Source="Param[@Name = 'Email']" FieldName="Value" DataType="string" Width="350" CaptionWidth="120" BreakAfter="1" Mandatory="0"/>
<Control Id="Subject" Caption="Subject" Source="Param[@Name = 'Subject']" FieldName="Value" DataType="string" Width="350" CaptionWidth="120" BreakAfter="1" MaxLen="40" Hidden="1"/>
<Control Id="Content" Caption="Content" Source="Param[@Name = 'Content']" FieldName="Value" DataType="longstring" Width="350" CaptionWidth="120" Height="60" BreakAfter="1" MaxLen="50" Mandatory="1" SeparateBefore="1" SeparateAfter="1"/>
<Control Id="Sender" Caption="Sender" Source="Param[@Name = 'Sender']" FieldName="Value" DataType="string" Width="350" CaptionWidth="120" ReadOnly="1" BreakAfter="1"/>
<Control Id="Priority" Caption="Priority" Source="Param[@Name = 'Priority']" FieldName="Value" DataType="select" Width="350" CaptionWidth="120" BreakAfter="1" DefaultValue="LOW">
<Member Value="LOW" Caption="Low" Glyf="../../GUIGenerator_V2/assets/themes/Images/flag_blue.png"/>
<Member Value="MED" Caption="Medium" Glyf="../../GUIGenerator_V2/assets/themes/Images/flag_yellow.png"/>
<Member Value="HIGH" Caption="High" Glyf="../../GUIGenerator_V2/assets/themes/Images/flag_red.png"/>
</Control>
</Controls>
</Form>
</Containers>
</Section>
</Module>
Run Code Online (Sandbox Code Playgroud)
我必须将单曲换成两首单曲我无法将其更改为"但是要"
Ben*_*Lee 12
您的代码只是替换了一个实例(它找到的第一个实例).您应该替换所有实例.您可以通过使用正则表达式并g在末尾添加标志来表示"全局搜索".像这样:
temp.replace(/'/g, "''")
Run Code Online (Sandbox Code Playgroud)
这是一个工作示例:http://jsfiddle.net/Q2Uyv/(在"输入"框中键入内容并单击"转换").
如果您实际上尝试用双引号替换单引号(而不是单引号的加倍序列),请执行以下操作:
temp.replace(/'/g, '"')
Run Code Online (Sandbox Code Playgroud)
问题是
temp.replace("\'", "''");
Run Code Online (Sandbox Code Playgroud)
只会替换 '. 要解决此问题,请改为执行以下操作
temp.replace(/'/g, "''"));
Run Code Online (Sandbox Code Playgroud)
这将确保它通过并替换单引号的所有实例,而不仅仅是第一个。