本文介绍了分隔符替换方法的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我想创建一个方法,以取代与预期目标使用分隔符(HTML邮件,日志,数据库)。分隔符是不变的,所以我希望能够引用识别的名称映射到字符串值的对象(分号=,htmlLineBreak =< BR />等)。有没有更好的办法来做到这一点比这下面?
公共静态类工具
{
公共字符串ReplaceDelimiter(字符串内容
,分隔符currentDelimiter,分隔符outputDelimiter)
{
返回content.Replace(currentDelimiter.ToString()
,outputDelimiter.ToString());
}
}公共类分隔符
{
公共常量字符串,逗号,;
公共常量字符串分号=;
公共常量字符串冒号=;
公共常量字符串断行=\\ r \\ n;
公共常量字符串htmlLineBreak =< BR />中;
}
编辑以下意见:的结果
一个用例是,当我想记录一个错误到不同的目标,并在邮件发送相同的内容(格式不同)。该日志可能会去一个数据库列(要与分号分隔符键/值)或日志文件(希望分隔符是换行符)。电子邮件是HTML所以希望分隔符以&lt更换; BR />。
下面将从具有几个参数,包括实际的异常一个测井方法的摘录:
的StringBuilder delimitedMessage =新的StringBuilder();delimitedMessage.Append(日期=+ DateTime.Now.ToShortDateString()+;);
delimitedMessage.Append(时间=+ DateTime.Now.ToLongTimeString()+;);
delimitedMessage.Append(源=+ objException.Source.ToString()修剪()+;);
delimitedMessage.Append(方法=+ objException.TargetSite.Name.ToString()+);
delimitedMessage.Append(做错事的方法=+方法名+;);
delimitedMessage.Append(计算机=+ System.Environment.MachineName.ToString()+;);
delimitedMessage.Append(日志消息=+ +的LogMessage;);
delimitedMessage.Append(异常错误=+ objException.Message.ToString()修剪()+;);
delimitedMessage.Append(严重性=+ severity.ToString()+;);
delimitedMessage.Append(堆栈跟踪=+ objException.StackTrace.ToString()修剪()+;);contentToLog = delimitedMessage.ToString();WriteToDb(contentToLog);
WriteToLog(Utilities.ReplaceDelimiter(contentToLog,Delimiter.semicolon,Delimiter.lineBreak));
SendEmail(Utilities.ReplaceDelimiter(contentToLog,Delimiter.semicolon,Delimiter.htmlLineBreak));
解决方案
-
code
公共类分隔符{
公共静态只读分隔符
HtmlLineBreak =新的分隔符{
VALUE =< BR />中
},
断行=新的分隔符{
VALUE =\\ r \\ n
},
分号=新的分隔符{
值=;
},
科隆=新的分隔符{
值=:
},
逗号=新的分隔符{
值=,
}; 公共重写字符串的ToString(){
返回值;
} 公共字符串值{
得到;
组;
}
} -
测试
VAR T = Utilities.ReplaceDelimiter(123 \\ r \\ n,Delimiter.LineBreak,Delimiter.HtmlLineBreak);
Debug.Print({0},T); -
输出
这篇关于分隔符替换方法的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!