C#中正则表达式与回车换行符问题

C#中,读取文本文件内容,里面往往有许多回车换行符(“\r\n”),虽然一般不可见,但却实实在在的存在。这时候,使用正则表示式进行匹配,需要考虑其存在。今天就遇到这样一个问题:

有文本文件内容如下:

DT 20180101000000
WT -1.1
SL  31.4
WL 203
DT 20180101000000
AT -4.1
BP 1023.7
HU 26
RN     99999.9
WS 1.9 92 2.0 94 3.4 79 2111 4.6 83 2103

使用正则表达式: WT\s+(?<WT>.+)$ ,结果是拿不到匹配值。原因是读取到的文本内容,里面有好多回车换行符“ \r\n ”。比如 WT -1.1 这行,实质内容是

WT -1.1\r\n ”,这时行尾符“$”就不起作用了。应该说,是直接读取文件内容,使用正则表达式匹配,就不起作用了。

将正则表达式改为:

WT\s+(?<WT>.+)\r\n

总结

以上所述是小编给大家介绍的C#中正则表达式与回车换行符问题,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我们网站的支持!

您可能感兴趣的文章:

  • C#正则表达式匹配与替换字符串功能示例
  • C#基于正则表达式实现获取网页中所有信息的网页抓取类实例
  • C#中如何利用正则表达式判断字符
  • C#使用正则表达式过滤html标签
  • C#中正则表达式的3种匹配模式
(0)

相关推荐

  • C#中如何利用正则表达式判断字符

    废话不多说了,下面代码给大家介绍下利用正则表达式判断字符的方法,具体代码如下所示: using System; using System.Text.RegularExpressions; using System.NET; namespace 正则表达式检测字符串 { class Program { static void Main(string[] args) { Console.WriteLine("请输入字符串:"); string s = Console.ReadLine();

  • C#中正则表达式的3种匹配模式

    在C#中,我们一般使用Regex类来表示一个正则表达式.一般正则表达式引擎支持以下3种匹配模式:单行模式(Singleline).多行模式(Multiline)与忽略大小写(IgnoreCase). 1. 单行模式(Singleline) MSDN定义:更改点 (.) 的含义,使它与每一个字符匹配(而不是与除 \n 之外的每个字符匹配). 使用单行模式的典型场景是获取网页源码中的信息. 示例: 我们使用WebBrowser控件,从http://www.xxx.com/1.htm上获取了如下HTM

  • C#正则表达式匹配与替换字符串功能示例

    本文实例讲述了C#正则表达式匹配与替换字符串功能.分享给大家供大家参考,具体如下: 事例一:\w+=>[A-Za-z1-9_],\s+=>任何空白字符,()=>捕获 string text = @"public string testMatchObj string s string match "; string pat = @"(\w+)\s+(string)"; // Compile the regular expression. Regex

  • C#基于正则表达式实现获取网页中所有信息的网页抓取类实例

    本文实例讲述了C#基于正则表达式实现获取网页中所有信息的网页抓取类.分享给大家供大家参考,具体如下: 类的代码: using System; using System.Data; using System.Configuration; using System.Net; using System.IO; using System.Text; using System.Collections.Generic; using System.Text.RegularExpressions; using

  • C#使用正则表达式过滤html标签

    在项目中遇到这样一个需求,需要将一段html转换为一般文本返回,万能的正则表达式来了. 正则表达式来拯救你,代码如下: public static string Html2Text(string htmlStr) { if (String.IsNullOrEmpty(htmlStr)) { return ""; } string regEx_style = "<style[^>]*?>[\\s\\S]*?<\\/style>"; //定

  • C#中正则表达式与回车换行符问题

    C#中,读取文本文件内容,里面往往有许多回车换行符("\r\n"),虽然一般不可见,但却实实在在的存在.这时候,使用正则表示式进行匹配,需要考虑其存在.今天就遇到这样一个问题: 有文本文件内容如下: DT 20180101000000 WT -1.1 SL 31.4 WL 203 DT 20180101000000 AT -4.1 BP 1023.7 HU 26 RN 99999.9 WS 1.9 92 2.0 94 3.4 79 2111 4.6 83 2103 使用正则表达式: W

  • asp中回车换行符CHR(10)表示换行,CHR(13)表示回车,CHR(32)表示空格

    先举个例子 <% function th(str) str=replace(str,"妈的","MD") str=replace(str,"靠","KAO") th=str end function function encode(str) str = replace(str, ">", ">") str = replace(str, "<",

  • C++读取到回车换行符问题处理

    今天在编写99乘法在线小游戏(看过我的 linux下c实现的数据库备份(第四版)应该知道我在那里提过^.^)的时候遇到读取文件的信息遇到回车换行符的烦恼. 比如我文件里面有如下信息: name=qizexi sex=man 我希望读取到name=qizexi这些有效字符而已,不希望\r\n也加入其中,因为那样会影响我的判断. 解决的方式是在遇到\r获取\n的时候,替换为\0. #include<string.h> #include<stdio.h> int main(int arg

  • python爬虫正则表达式之处理换行符

    刚开始学python,记录下问题. 代码如下: #coding:utf-8 import re,urllib2 def getHTML(url): html=urllib2.urlopen(url) html=html.read() return html if __name__=='__main__': url='https://www.baidu.com' #处理换行符以及空格 print getHTML(url).replace('\n','').replace('\t','').repl

  • Java 替换字符串中的回车换行符的方法

    使用正则表达式进行替换: 代码片段: String documentTxt = EntityUtils.toString(entity,"gbk");//获取数据 documentTxt=documentTxt.replaceAll("[\\t\\n\\r]", "");//将内容区域的回车换行去除 说明:String类的replaceAll就有正则替换功能. \t为制表符 \n为换行 \r为回车 java正则使用: 示例方法: 复制代码 代码如

  • PHP 清除HTML代码、空格、回车换行符的函数

    复制代码 代码如下: function DeleteHtml($str) { $str = trim($str); $str = strip_tags($str,""); $str = ereg_replace("\t","",$str); $str = ereg_replace("\r\n","",$str); $str = ereg_replace("\r",""

  • MySQL数据中很多换行符和回车符的解决方法

    发现问题 今天一大早客户给我打电话:"小陈儿,昨晚我往数据库导了几十万条数据,然后在web界面很多都搜不到,你们系统做的啥玩意儿啊?这么多BUG!得啵得啵得-"(省略2000字)又习惯性的喷了一遍我们这个项目做的辣鸡~~ 得得得,客户随便喷,我就当吃了个早饭了

  • oracle中去掉回车换行空格的方法详解

    去除换行update zhzl_address t set t.add_administration_num=replace(t.add_administration_num,chr(10),'');去掉回车update zhzl_address t set t.add_administration_num=replace(t.add_administration_num,chr(13),'');去掉空格update zhzl_address t set t.add_administration

  • 浅谈Python采集网页时正则表达式匹配换行符的问题

    如下所示: p1 = r'(?<=<div class="ds_cr">)(.*?)(?=<div id="pageurl">)' #这样采集html时出错,采集不到数据,正则中 . 是不能匹配换行符,改成如下: p1 = r'(?<=<div class="ds_cr">)([\s\S]*?)(?=<div id="pageurl">)' # 这是我们写的正则表达式

  • Java中正则表达式去除html标签

    Java中正则表达式去除html的标签,主要目的更精确的显示内容,比如前一段时间在做类似于博客中发布文章功能,当编辑器中输入内容后会将样式标签也传入后台并且保存数据库,但是在显示摘要的时候,比如显示正文的前50字作为摘要,那么这时需要去除所有html标签,然后在截取50字,所以就通过了Java正则表达式实现了如下方法,代码如下: 注:这是Java正则表达式去除html标签方法. private static final String regEx_script = "<script[^>

随机推荐