Fix DoROReplaceWords So that parts of words are not affected
This commit is contained in:
parent
42ba094c03
commit
85771b0dda
@ -121,7 +121,7 @@ namespace Volian.Controls.Library
|
|||||||
_MyItemInfo = itemInfo;
|
_MyItemInfo = itemInfo;
|
||||||
OriginalText = InfoText;
|
OriginalText = InfoText;
|
||||||
if (OriginalText.Contains("Prerequisite") && epMode == E_EditPrintMode.Print)
|
if (OriginalText.Contains("Prerequisite") && epMode == E_EditPrintMode.Print)
|
||||||
OriginalText = Regex.Replace(OriginalText, @"\\{Prerequisite Step: .*?\\}", "");
|
OriginalText = Regex.Replace(OriginalText, @"\\{Prerequisite Step: .*?\\}", "");
|
||||||
TextFont = itemInfo.GetItemFont();//GetItemFont();
|
TextFont = itemInfo.GetItemFont();//GetItemFont();
|
||||||
// if in print mode, and this is the HLS of a smart template (checklist formats) see if the hls
|
// if in print mode, and this is the HLS of a smart template (checklist formats) see if the hls
|
||||||
// splits across 2 lines.
|
// splits across 2 lines.
|
||||||
@ -538,15 +538,30 @@ namespace Volian.Controls.Library
|
|||||||
}
|
}
|
||||||
return text;
|
return text;
|
||||||
}
|
}
|
||||||
private string DoROReplaceWords(ReplaceStrList replaceStrList, string newvalue, bool isHigh)
|
private string DoROReplaceWords(ReplaceStrList replaceStrList, string oldvalue, bool isHigh)
|
||||||
{
|
{
|
||||||
|
int profileDepth = ProfileTimer.Push(">>>> DoROReplaceWords");
|
||||||
|
string newvalue = oldvalue;
|
||||||
foreach (ReplaceStr rs in replaceStrList)
|
foreach (ReplaceStr rs in replaceStrList)
|
||||||
{
|
{
|
||||||
if (((rs.Flag & E_ReplaceFlags.Setpoint) > 0) || (isHigh && (rs.Flag & E_ReplaceFlags.HLSSetpnt) > 0))
|
if (((rs.Flag & E_ReplaceFlags.Setpoint) > 0) || (isHigh && (rs.Flag & E_ReplaceFlags.HLSSetpnt) > 0))
|
||||||
{
|
{
|
||||||
newvalue = newvalue.Replace(rs.ReplaceWord, rs.ReplaceWith);
|
try
|
||||||
|
{
|
||||||
|
// Use regular expression to assure that the ReplaceWord is not part of another word
|
||||||
|
// For VEPROMS_CAL E-0 Step 23 (Reset SI) the word "after" was being changed to "aFTer"
|
||||||
|
newvalue = Regex.Replace(newvalue, @"(?<=\W|^)" + rs.ReplaceWord + @"(?=\W|$)", rs.ReplaceWith);
|
||||||
|
//newvalue = newvalue.Replace(rs.ReplaceWord, rs.ReplaceWith);
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
_MyLog.Warn("Problem with regular expression", ex);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
//if (oldvalue != newvalue)
|
||||||
|
// Console.WriteLine("\"{0}\"\r\n\"{1}\"",oldvalue,newvalue);
|
||||||
|
ProfileTimer.Pop(profileDepth);
|
||||||
return newvalue;
|
return newvalue;
|
||||||
}
|
}
|
||||||
// Replace spaces with hardspaces, but DO NOT replace the end of an Rtf Command with a hardspace
|
// Replace spaces with hardspaces, but DO NOT replace the end of an Rtf Command with a hardspace
|
||||||
|
Loading…
x
Reference in New Issue
Block a user