C#特殊字符处理

C# 高效处理Strings中的特殊字符:从空格到换行符的全面解决方案 本文详细介绍了C#中高效处理Strings中特殊字符的全面解决方案,包括空格、换行符等常见问题。通过Trim、Replace和正则表达式等多种方法,帮助开发者解决字符串处理中的各种挑战,提升代码效率和可维护性。特别适合串口通信、网络数据传输等场景。 阅读详情
<span style="font-size:14px;"><strong>private static Regex RegNumber = new Regex("^[0-9]+$");
  private static Regex RegNumberSign = new Regex("^[+-]?[0-9]+$");
  private static Regex RegDecimal = new Regex("^[0-9]+[.]?[0-9]+$");
  private static Regex RegDecimalSign = new Regex("^[+-]?[0-9]+[.]?[0-9]+$"); //等价于^[+-]?\d+[.]?\d+$
  private static Regex RegEmail = new Regex("^[\\w-]+@[\\w-]+\\.(com|net|org|edu|mil|tv|biz|info)$");//w 英文字母或数字的字符串,和 [a-zA-Z0-9] 语法一样 
  private static Regex RegCHZN = new Regex("[\一-\龥]");

  #region//对入库字符进行编码和转换。或用Server.HtmlEncode(enstr)
  public static string EncodeStr(string str)
  {
   str=str.Replace("'","’");
   str=str.Replace("\"",""");
   str=str.Replace("<","<");
   str=str.Replace(">",">");
   str=str.Replace("\n","<br>");
   return str;
  }
        #endregion

  #region//对出库字符进入显示时的转换。或用Server.HtmlDecode(str)
  public static string DecodeStr(string str)
  {
   str=str.Replace("’","'");
   str=str.Replace(""","\"");
   str=str.Replace("<","<");
   str=str.Replace(">",">");
   str=str.Replace("<br>","\n");
   return str;
  }
        #endregion

数字字符串检查 
  /// <summary>
  /// 是否数字字符串
  /// </summary>
  /// <param name="inputData">输入字符串</param>
  /// <returns></returns>
  public static bool IsNumber(string inputData)
  {
   Match m = RegNumber.Match(inputData);
   return m.Success;
  }  
  /// <summary>
  /// 是否数字字符串 可带正负号
  /// </summary>
  /// <param name="inputData">输入字符串</param>
  /// <returns></returns>
  public static bool IsNumberSign(string inputData)
  {
   Match m = RegNumberSign.Match(inputData);
   return m.Success;
  }  
  /// <summary>
  /// 是否是浮点数
  /// </summary>
  /// <param name="inputData">输入字符串</param>
  /// <returns></returns>
  public static bool IsDecimal(string inputData)
  {
   Match m = RegDecimal.Match(inputData);
   return m.Success;
  }  
  /// <summary>
  /// 是否是浮点数 可带正负号
  /// </summary>
  /// <param name="inputData">输入字符串</param>
  /// <returns></returns>
  public static bool IsDecimalSign(string inputData)
  {
   Match m = RegDecimalSign.Match(inputData);
   return m.Success;
  }  


 /// <summary>
  /// 非法字符转换
  /// </summary>
  /// <param name="str"></param>
  /// <returns></returns>
  public static string ReplaceStr(string str)
  {
   //str=str.Replace(",","");
   str=str.Replace("'","");
   str=str.Replace(";","");
   str=str.Replace(":","");
   str=str.Replace("/","");
   str=str.Replace("?","");
   str=str.Replace("<","");
   str=str.Replace(">","");
   str=str.Replace(".","");
   str=str.Replace("#","");
   str=str.Replace("%","");
   str=str.Replace("%","");
   str=str.Replace("^","");
   str=str.Replace("//","");
   str=str.Replace("@","");
   str=str.Replace("(","");
   str=str.Replace(")","");
   str=str.Replace("*","");
   str=str.Replace("~","");
   str=str.Replace("`","");
   str=str.Replace("$","");

   return str;  
  }


  //检查url
  public static bool checkURl(string str)
  {
     Regex r=new Regex("^http://([\\w-]+\\.)+[\\w-]+(/[\\w-./?%&=]*)?$");
    
   Match m = r.Match(str);
   if(m.Success)
   {
    return true;
   }
   else
   {
    return false;
   }

  }

  

//日期
  public static bool checkDate(string str)
  {

      Regex r = new Regex("^(\\d{4})\\-(\\d{2})\\-(\\d{2})$");
   Match m =r.Match(str);
             
   if(m.Success)
   {
    return true;
   }
   else
   {
       return false;
   
   }

  }

  public static bool checkInDate(string str)
  {
      Regex r = new Regex("^(\\d{4})\\-(\\d{2})\\-(\\d{2})$");
   Match m =r.Match(str);
        if(m.Success)  //格式正确
   {
    string M=m.ToString();
    char [] da = new char[10];//char.Parse(m.ToString());
   
    M.CopyTo(0,da,0,10);

    bool bl=false;
    string yy="";
    string mm="";
    string dd="";

   #region 分别取出 YYYY、MM、DD
    for(int i=0;i<4;i++)
    {
     yy +=da[i].ToString();
    }
    
    for(int i=0;i<2;i++)
    {
     mm+=da[5+i].ToString();
    }

    for(int i=0;i<2;i++)
    {
     dd+=da[8+i].ToString();
    }
   #endregion

    int YearLow=int.Parse( ConfigurationSettings.AppSettings["YearLow"]);
    int YearHigh=int.Parse( ConfigurationSettings.AppSettings["YearHigh"]);
    if(int.Parse(yy)<YearHigh && int.Parse(yy)>YearLow)  //
    {
     #region  是否为有效的日期值
     bool b=true;
     if(b)
     {
      bool B=false;
      switch(mm)
      {
       case "01": B=true;
        break;
       case "02": B=true;
        break;
       case "03": B=true;
        break;
       case "04": B=true;
        break;
       case "05": B=true;
        break;
       case "06": B=true;
        break;
       case "07": B=true;
        break;
       case "08": B=true;
        break;
       case "09": B=true;
        break;
       case "10": B=true;
        break;
       case "11": B=true;
        break;
       case "12": B=true;
        break;
      }
      if(B)
      {
       switch(dd)
       {
        case "01": bl=true;
         break;
        case "02": bl=true;
         break;
        case "03": bl=true;
         break;
        case "04": bl=true;
         break;
        case "05": bl=true;
         break;
        case "06": bl=true;
         break;
        case "07": bl=true;
         break;
        case "08": bl=true;
         break;
        case "09": bl=true;
         break;
        case "10": bl=true;
         break;
        case "11": bl=true;
         break;
        case "12": bl=true;
         break;
        case "13": bl=true;
         break;
        case "14": bl=true;
         break;
        case "15": bl=true;
         break;
        case "16": bl=true;
         break;
        case "17": bl=true;
         break;
        case "18": bl=true;
         break;
        case "19": bl=true;
         break;
        case "20": bl=true;
         break;
        case "21": bl=true;
         break;
        case "22": bl=true;
         break;
        case "23": bl=true;
         break;
        case "24": bl=true;
         break;
        case "25": bl=true;
         break;
        case "26": bl=true;
         break;
        case "27": bl=true;
         break;
        case "28": bl=true;
         break;
        case "29": bl=true;
         break;
        case "30": bl=true;
         break;
        case "31": bl=true;
         break;
       }
      }
     }
     #endregion
    }
    else
    {
     bl=false;
    }
             
    if(bl)
    {
     return true;
    }
    else
    {
     return false;
    }
   }
   else
   {
     return false;
   }
  
  }</strong></span>

c# uri 取文件名_C#下载ftp文件时文件名里含有特殊字符的处理方法 我创建了一个method来与ftp server 进行交流。现在的问题是uri里面带有特殊字符如“#”,“@”等就无法下载或者上传。只好用蹩脚的方式escape了一下。 有没有比较优雅的方式escape特殊字符在uri里?// Get the request using a specific URIstatic public FtpWebRequest GetWebRequest(string m... 阅读详情

相关推荐

C#中处理转义字符有两种方式

在C#中,我们可以在字符串前面添加@符号来标识一个原始字符串,其中的转义字符将被忽略。这种方式非常适合需要处理大量转义字符的情况,可以提高代码的可读性。综上所述,C#中处理转义字符有两种方式:使用转义字符或者使用@符号。除了上述两种方式,C#还提供了一些其他处理转义字符的方法,比如使用Unicode编码表示特殊字符。处理转义字符是编程中常见的需求,在C#中有两种主要的处理方式。通过使用@符号,我们可以直接将包含反斜杠(\)的路径字符串写入代码,而无需对每个反斜杠进行转义。C#中处理转义字符有两种方式。

CyberNova的博客 1950

C# 字符串中去掉换行符、间隔符等特殊字符

C# 字符串中去掉换行符、间隔符等特殊字符 1.String.Replace方法 在C#中替换字符串中的字符我们可以使用String提供的Replace方法。 string s = "sdsd"; string ss = s + Environment.NewLine; var eeee = ss.Replace(Environment.NewLine, ""); var nes = ss.Repla

YouyoMei的博客 8705

C# webservice 参数特殊字符处理

如果你的 WebService 接口对于 XML 传输中的特殊字符不太敏感,建议使用Base64 编码方式来确保特殊字符能够正常传输。对于少量的特殊字符,使用[CDATA[]]>或手动替换也是可行的方式。希望如上措施及解决方案能够帮到有需要的你。PS:如若遇到采纳如下方案还是未解决的同学,希望不要抱怨&&急躁,毕竟影响因素众多,我写出来也是希望能够尽最大努力帮助到同类似问题的小伙伴,即把你未解决或者产生新Bug黏贴在评论区,我们大家一起来努力,一起帮你看看,可以不咯。

**My Coding Family** 1314

【C#】字符串中特殊符号处理

#region 过滤特殊字符 /String2Json(String s) /// &lt;summary&gt; /// 过滤特殊字符 /// &lt;/summary&gt; /// &lt;param name="s"&gt;字符串&lt;/param&gt; /// &lt;returns&gt;json字...

程金鹏(程利鹏) 7150

SQL Server查询中的特殊字符处理(C#代码)

SQL Server查询中的特殊字符处理(C#代码)

Cesium 模拟飞机坠毁功能

Cesium 模拟飞机坠毁功能,粒子模拟

QQhelphelp的博客 1068

C#有关URL中特殊字符的处理

一、问题 URL 传递时 客户端发送的和服务端接收到的不一致 经分析是因为URL 中含有特殊字符"#$ ^ & * + =",这些字符在URL 中被转义啦!!! 常见的URL 中的特殊字符、表示的意义以及十六进制的表示 字符 意义 十六进制 + URL 中+号表示空格 %2B 空格 URL中的空格可以用+号或者编码

weixin_44997008的博客 7983

端侧视觉赋能手游自动化:YOLOv8+NCNN实现低风险挂机与广告拦截

本文提出一种基于端侧AI的移动游戏自动化解决方案,采用YOLOv8目标检测和NCNN推理框架,结合AutoJS实现"感知-决策-执行"闭环。方案通过轻量化模型训练、多分辨率适配和行为拟态优化,解决了传统脚本的适配性和风控问题。关键技术包括:构建游戏专属数据集、模型量化优化、广告拦截和挂机功能实现,具有本地运行、安全稳定等特点,为个人开发者提供了一套完整的自动化开发框架。

milk416666的博客 1263

C#中输出特殊符号

在C#中 \ 是转义字符,如下所示 转义序列 字符 \’ 单引号 \” 双引号 \\ 反斜杠 \0 空 \a 警告 \b 退格 \f 换页 \n 换...

weixin_34297300的博客 1453

基于Simulink/Matlab的VSG并网系统单相接地与相间短路故障仿真建模与特性分析

本文详细介绍了基于Simulink/Matlab搭建虚拟同步发电机(VSG)并网系统仿真模型的方法,并重点分析了单相接地与相间短路故障下的系统特性。通过设置三相故障模块参数,模拟了故障发生时的电压、电流变化及VSG动态响应,为理解故障机理、优化控制策略及设计继电保护提供了仿真依据与实践指导。

t8u9v0w1x的博客 514

第1期技术: DQN算法原理及实现过程

利用神经网络近似值函数的方法表示为: V^(s,w)≈Vπ(s)q^(s,a,w)≈qπ(s,a) \hat{V}(s, w) \approx V_{\pi}(s) \\ \hat{q}(s, a, w) \approx q_{\pi}(s, a) V^(s,w)≈Vπ​(s)q^​(s,a,w)≈qπ​(s,a) 那么具体的工作过程是怎样实现的? 以及如何从端到端的过程,本文将讲解Deep Q Network(DQN, 而这正是由DeepMind于2013年和2015年分别提出的两篇论文《Playi

深度强化学习实验室:一个“开源开放、共享共进”的强化学习学术组织。 4953

C# URI 中特殊字符处理

URI 中特殊字符处理 一、问题阐述   今天写 url 请求时,不管是get 请求还是 post 请求,如果参数中带有 + % # 等特殊符号,就无法正常获得参数   具体现象就是用URL传参数的时候,用&符号连接,如果某一个参数中含"#$ ^ & * + ="这些符号的时候,在另一个页面getParameter就会取不到传过来的参数。 二、解决方法   有些符号在...

Qin066的博客 5186

YOLOv11改进策略【损失函数篇】| arXiv2025 TeLU双曲正切指数线性单元 强梯度防消失 + 解析光滑稳训练,极速提升收敛与泛化

本文记录的是。TeLU(Hyperbolic Tangent Exponential Linear Unit)通过。本文利用TeLU激活函数,以x⋅tanhex统一实现正区间强梯度加速收敛与负区间持续梯度避免死神经元,全程保持解析光滑与极低计算开销,,显著提升深度网络在分类、检测、分割、时序任务中的收敛速度、精度与泛化鲁棒性。

Limiiiing的博客 224

C# 多条sql一起提交;处理特殊字符

C# 多条sql一起提交;处理特殊字符 /// <summary> /// 添加商品 多条一起执行 /// </summary> /// <param name="HJID"></param> /// <param name="SPBM"></param> /// <param name="CWBM">&

csdn_Y_w的博客 580

ue 打包linux程序 在windows系统 2026

ue 打包linux程序 在windows系统 2026

jacke121的专栏 369

UG\NX二次开发 分割曲线

分割曲线没有ufun函数?那就换一种思路实现。

王牌飞行员_里海的博客 1144

c#编程_fastreport处理特殊字符[]、特殊字符报异常问题完美解决

c#fastreport异常处理、特殊字符处理

weixin_54626503的博客 1295

【ComfyUI】Flux 完整版文生图

本文介绍了一个基于Flux Dev的AI文生图全流程工作流,通过整合扩散模型、文本编码器和VAE解码器等核心组件,实现从文本到高清图像的端到端生成。工作流包含模型加载、条件构建、潜空间采样、图像解码和成果保存五个关键环节,支持高分辨率图像的细节还原和艺术风格塑造。应用场景涵盖艺术创作、内容生产、教学演示和科研数据准备等领域,适用于对画质和提示遵循性要求严格的场景。文章还提供了相关开发资源和学习教程链接,帮助用户深入理解AI绘图机制和实际应用。

Mr数据杨 1276

C#中 如何处理 JSON中的特殊字符

public static String StringToJson(String s) { StringBuilder sb = new StringBuilder(); for (int i = 0; i &lt; s.Length; i++) { char c...

weixin_34384681的博客 1348

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

C#中Xml特殊字符的处理

以下是几个特殊字符的对应实体。 < 小于号 > >  大于号 & & 和 &apos; ' 单引号 " " 双引号

风之&诉 1万+

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

C# DataTable.DefaultView.RowFilter筛选数据时,有特殊字符的处理

https://blog.youkuaiyun.com/weixin_33827731/article/details/86450097

qq_38970831的博客 4268

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

C#在Json反序列化中处理键的特殊字符

假设有如下Json 数据: { "id" : 1, "@value" : "this a @", "$p" : "my name a $"} 通常情况下,在Json反序列化时,将Json映射到序列化的类,无需指定其名称。如 public JsonTest{ public string id{get;set;}} 在反序列化时会自动将Json...

weixin_30457465的博客 1055

C# 高效处理Strings中的空格与特殊字符

本文深入探讨了C#中高效处理字符串空格与特殊字符的方法。作为开发基本功,文章对比了Trim()、Replace()等基础方法与正则表达式的优劣,重点介绍了如何利用正则表达式中的\s字符类一键清除或标准化所有空白字符,并提供了不同实战场景下的性能考量与选择指南,帮助开发者提升数据处理的健壮性与效率。

open4的博客 223

C# 保存为Xml是对特殊字符的处理

以下是几个特殊字符的对应实体。<< 小于号>> 大于号&&和&apos;‘单引号"“双引号 在C#中,直接调用C#提供的方法,保存之后就会自动将特殊字符转为对应实体: string s = System.Security.SecurityElement.Escape(s);

^菜鸟^ 2558
上一篇: c# POST和GET方式通过服务器地址提交数据
下一篇: 通过NPOI导入Execl返回DataTable
make1828
博客等级 码龄19年 60粉丝 105原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值