clsStringUtilities¶
clsStringUtilities is a stateless, Shared-only helper class that cleans text for downstream systems intolerant of unprintable or non-ASCII characters — most notably Crystal Reports and outbound email — by replacing known Word-pasted special characters and stripping/escaping characters outside a safe printable range.
Purpose¶
- Replace unprintable or Word-specific special characters (smart quotes, tabs, bullet characters) with plain-ASCII equivalents or spaces so downstream systems such as Crystal Reports do not error on the content (
CleanString). - Prepare a string for safe inclusion in an email by escaping characters that interfere with mail parsing (quotes,
#,&,?) and URL-encoding line breaks/tabs (CleanForEmail).
Context¶
- Namespace:
SAIF.Presentation.Web.Core.Utilities - Assembly/package:
SAIF.Presentation.Web.Core.Infragistics103(merged intoSAIF.BOF.Presentation.Web.Infragistics103NuGet package)
Public members¶
| Member | Signature | Purpose |
|---|---|---|
| CleanString | Shared Function CleanString(inText As String) As String |
Replaces known Word-pasted characters (tab, smart apostrophe/quotes, round/square bullets) with plain equivalents, then replaces any remaining character outside the printable ASCII range (32–126, plus CR/LF) with a space, to prevent errors in systems like Crystal Reports that are intolerant of unprintable input. |
| CleanForEmail | Shared Function CleanForEmail(intext As String) As String |
Replaces double quotes with single quotes, removes # and ?, replaces & with "and", and URL-encodes carriage-return/line-feed and tab characters, to make a string safe for inclusion in an outbound email; returns the input unchanged (including Nothing) if intext is Nothing. |
Behavioral notes¶
CleanStringbuilds its result with aText.StringBuilderfor performance on potentially long input text*.CleanForEmaildepends onHttpContext.Current.Serverbeing available to URL-encode line breaks and tabs, so it is only usable within an active web request context.
Constraints and usage notes¶
- All members are
Shared; this class holds no instance state. CleanForEmailreturnsintextunmodified (rather than an empty string) when passedNothing.
Note: Statements marked with * were inferred from code structure, naming conventions, or contextual evidence where direct confirmation was not available in source artifacts. Statements marked with ** could not be confirmed; treat as unknown until verified.
Sources¶
- SAIF.Presentation.Web.Core.Infragistics103\clsStringUtilities.vb