从字符串中删除所有“不可见”字符?

2024-04-18

我正在编写一个小类来从文件中读取键值对列表并写入Dictionary<string, string>。该文件将具有以下格式:

key1:value1
key2:value2
key3:value3
...

这应该很容易做到,但是由于用户要手动编辑这个文件,我应该如何处理空格、制表符、额外的行跳转和类似的东西?我可能可以使用替换来删除空格和制表符,但是,我还缺少其他“不可见”字符吗?

或者,也许我可以删除所有非字母数字字符、“:”和换行符(因为换行符是将一对与另一对分开的字符),然后删除所有额外的换行符。如果这样,我不知道如何删除“除某些之外的所有”字符。

当然我也可以检查诸如“key1:value1:somethingelse”之类的错误。但这样的事情其实并不重要,因为这显然是用户的错,我只会显示“无效格式”消息。我只想处理基本的内容,然后将所有内容放入 try/catch 块中,以防万一出现其他问题。

Note:我根本不需要任何空格,即使在键或值内也是如此。


我最近做了这件事,当时我终于对 feed 中出现太多未记录的垃圾形成不良 xml 感到恼火。它有效地修剪掉 ASCII 表中不属于空格和 ~ 之间的任何内容:

static public string StripControlChars(this string s)
{
    return Regex.Replace(s, @"[^\x20-\x7F]", "");
}

结合已经发布的其他正则表达式示例,它应该可以帮助您到达您想去的地方。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从字符串中删除所有“不可见”字符? 的相关文章

  • 管道破裂错误

    我在 FTP 实现中的打开的数据套接字上使用 write 来发送文件 但写入一些数据后 它会挂起一段时间 之后它会返回 损坏的管道 错误 对此的任何帮助将不胜感激 我的进程从一个缓冲区读取数据包并写入套接字 我在增加带宽时注意到了这个问题
  • 寻找发音的正确性

    我需要借助 Microsoft 语音 SDK 来识别用户发音的 质量 System Speech Recognition 我使用的是 MS Speech Engine US 所以我实际需要的是找出说话者的声音与 北美 口音的接近程度 实现此
  • .NET 中字段初始化器有什么用(除了可读性之外)?

    我只是想了解字段初始值设定项 我遇到了错误 字段初始值设定项无法使用非静态字段 方法或属性 在寻找这个答案时我遇到了THIS https stackoverflow com questions 27725571 why c sharp wo
  • WPF 基础知识:MVVM 的共享全局样式

    我正在尝试使用 MVVM 式的方法来进行 WPF 开发 我在 ViewModel 命名空间下有我的逻辑视图模型类 并且在 View 命名空间下有这些视图模型类的匹配样式 现在 我的视图信息位于 ResourceDictionary XAML
  • Visual Studio const_iterator 赋值错误

    默认构造的赋值vector
  • 当条件满足时如何进入调试模式?

    有没有办法在满足一定条件时进入调试模式 例如 假设我想在以下行进入调试模式i 1变为真 using System namespace ConditionalDebug public class Program public static v
  • 硬币数量有限的最小硬币找零问题

    具体来说 问题是 给定面值数组coins 每个硬币的限制数组limits 和数量amount 返回minimum需要的硬币数量 以获得amount 或者如果不可能返回 null 另外填充数组change解决方案中使用的每个硬币的数量 这是我
  • 如何在 Windows 中获取和设置系统音量

    我想使用 unity 和 c 将键盘点击时的操作系统音量设置为一定水平 例如我想将 Windows 音量 不是 unity 设置为 70 我该怎么做 void Update if Input GetKeyDown KeyCode A Set
  • 如何对多重映射中的键和值进行排序?

    建议使用任何方法对多重映射的键及其值进行排序 例如 输入 5 1 1 9 1 1 5 2 1 2 输出必须是 1 1 1 2 1 9 5 1 5 2 答案是emplace hint 伪代码如下所示 insert with hint M mm
  • 如何在asp.net core中以强类型方式获取资源字符串?

    在下面的程序中 为了获取资源字符串 我使用 localizer About Title 其中 About Title 是一个魔术字符串 如何避免使用这样的字符串 有没有强类型的方法 using Microsoft AspNetCore Mv
  • 具有 C++ 客户端和 C# 后端的协议缓冲区?

    如何通过 HTTP 或等效的 Web 服务将 C 后端与 C 前端连接起来 这里分为三个部分 服务器 听起来像 C 客户端 听起来像 C 和传输 将它们分开 并从最重要的开始 传输 这里的重大决定是您希望数据采用什么形状 您提到了协议缓冲区
  • 如何构建具有多个子站点地图的站点地图?

    我在用 MVC4 MvcSiteMapProvider v3 2 1 需要能够升级到v4 我的问题是应用程序很大 我想模块化应用程序并使模块可插拔 由于站点地图已经很大 我想让站点地图也变得可插拔 有没有办法在应用程序启动时使用根站点地图从
  • 无需使用abs函数或if语句即可获取绝对值

    我在想如何在不使用的情况下获得整数的绝对值if声明也不abs 起初我使用的是左移位 lt lt 试图将负号移出范围 然后将位右移回原来的位置 但不幸的是它对我不起作用 请让我知道为什么它不起作用以及其他替代方法 From 位摆弄黑客 htt
  • C++:如何通过时间和本地时间获取实际时间?

    我正在寻找一种在 C 中以 HH MM SS 方式节省时间的方法 我在这里看到它们有很多解决方案 经过一番研究后我选择了time and localtime 然而 似乎localtime函数有点棘手 因为它says http rabbit
  • 当 Bool 变量变为 True 时更改标签

    我不太确定如何解释这一点 我将把代码放在伪代码中以便于阅读 我几乎想要一个标签在类的 bool 变量更改时更改其文本 我不确定我需要使用什么 因为我使用的是 WPF 并且该类不能只更改我不更改的标签你不觉得吗 我需要举办某种活动吗 或者 W
  • C++:ostream 和 ostringstream 有什么区别?

    ostream 和 ostringstream 有什么区别 你什么时候会使用其中一种而不是另一种 简单地说 ostringstream提供了一个streambuf ostream要求用户提供一份 要理解其中的含义 有必要了解一点 流是如何工
  • .NET 中的 vista/win7 放大 API

    Win7 Vista SDK中有magnification lib可供使用放大API http msdn microsoft com en us library ms692162 28VS 85 29 aspx对于C 如何在 NET win
  • 在 C# .Net 中将小数转换为小时、分钟和秒

    我在数据库中有一个分钟字段 例如 138 34 我需要将其转换回 HH MM SS 最简单的方法是什么 您可以使用TimeSpan FromMinutes minutesInDouble 以双精度格式传递上述值 欲了解更多信息 检查 MSD
  • 在 fork() 之后寻求有关“文件描述符”的简单描述

    Unix 环境中的高级编程 第二版 作者 W Richard Stevens 第 8 3 节 fork 函数 描述如下 父级和子级共享相同的文件偏移量非常重要 考虑一个分叉子进程 然后等待子进程完成的进程 假设两个进程都写入标准输出作为其正
  • Rust Json 序列化重叠职责

    我正在学习 Rust 中的 Json 序列化 特别是如何将 Rust 对象序列化为 Json 目前我看到 3 种将结构体实例转换为 Json 的方法 派生可编码特征 手动实现 ToJson 特征 手动实现可编码特征 下面的代码说明了所有 3

随机推荐

  • 如何使用 JQuery 和 Ajax 验证表单字段并将表单数据发布到服务器?

    我正在尝试验证表单字段 例如姓名 不得为空 Email id 必须有效 手机 必须有效 填写所有信息后 我必须将此信息发送到服务器 并将响应重定向到不同的页面 这里什么都不起作用 我的表单 html
  • 如何在 OpenCV 中获取单独的轮廓(并填充它们)?

    我试图分离图像的轮廓 为了找到均匀的区域 所以我应用了 cvCanny 然后应用了 cvFindContours 然后每次按下一个键时 我使用以下代码绘制 1 个轮廓 for contours2 0 contours2 contours2
  • “转到实现”以“符号没有实现”结尾

    当右键单击时 例如Visual Studio 中的方法并选择Go To Implementation它告诉我 该符号没有实现 我尝试过 services AddDbContext
  • swift 2.1 alamofire超时方法

    我对 alamofire 超时方法有疑问 首先 我的英语可能不够好 无法让你们理解我所说的 但我会厌倦解释我的问题 在我的项目中 我使用了 alamofire 出于某种原因 我需要确保我的应用程序在连接不良的区域工作 所以我正在考虑使用超时
  • Node-sass 是 React 项目的开发依赖还是生产依赖?

    在各种 React 文档中 我看到它被添加为产品依赖项 但我不明白为什么 难道它不应该是一个 devDependecy 吗 因为 SASS 只在开发过程中被编译 而当推送到 prod 时 你实际上推送的是编译后的 CSS 文件 由于需要进行
  • redis集群不断打印日志WSA_IO_PENDING

    当我启动redis集群的所有redis服务器时 所有这些服务器不断打印类似WSA IO PENDING clusterWriteDone的日志 9956 03 Feb 18 17 25 044 WSA IO PENDING writing
  • .NET 列表.Distinct

    我正在使用 NET 3 5 为什么我仍然收到 不包含 不同 的定义 用这个代码 using System Collections Generic code List
  • R:进入“内部”环境

    给定一个environment object e gt e
  • 使用 highcharts 将 mysql 数据库中的动态数据添加到折线图

    我想使用 ajax 或 json 将数据点添加到我的折线图中 现在我必须重新加载整个网页才能在图表上显示我的新数据 但我想通过添加如下链接的点来显示实时数据 jsfiddle net gh get jquery 1 9 1 highslid
  • 完全离线工作的领域(从不在线)

    我试图了解 mongoDB 的每个元素是如何工作的 但我真的很困惑如何处理离线 即将 https realm io https realm io 我读到了这个 Realm 移动数据库是 Core Data 和 SQLite 的开源 开发人员
  • 自动完成搜索,即使是一个字符 Android

    我在用AutoComplete小部件 它适用于两个字符搜索 但不适用于一个字符 即使用户只输入一个字符 我也想自动完成工作 例如 当我输入 1 时 它应该显示所有以 1 开头的列表 现在它显示 2 个字符的建议列表 例如 12 Code z
  • CYK算法是如何工作的?

    我必须检查一个字符串是否可以从乔姆斯基范式的给定上下文中派生出来 我正在使用 C 有非常好的伪代码 http en wikipedia org wiki CYK algorithm As pseudocode关于 CYK 算法的维基百科文章
  • 在 safari 中显示本地磁盘的图像

    我的页面中有这个标签 在 localhost 3000 上运行 img src width 400 height 200 图像确实存在 但未显示 如果我将 src 属性中的路径放入地址栏 则图像已加载 但它在 img 标记中不起作用 甚至在
  • Android Facebook 集成与无效密钥哈希

    在我的一个应用程序中 我需要从 Facebook 获取数据 我正在这样做 我创造了app ID 它登录成功 但是注销后 我登录 然后它给我 我做错了什么 我正在使用脸书软件开发工具包 我已经在手机上安装了 Facebook 它在模拟器中运行
  • 如何使用 re.sub 搜索和替换精确的字符和数字?

    我正在尝试在 python 中使用正则表达式来搜索 p1 in p1 p2 p3 p10 p11 p12 并将其替换为 hi 下面是我的Python代码 import re x p1 p2 p3 p10 p11 p12 data p1 y
  • 如何使用 MassTransit 测试工具通过构造函数依赖注入来测试 Consumer?

    我有一些消息使用者通过构造函数获取依赖项 我想在单元测试中涵盖它们 MassTransit 的测试工具是否提供了一种使用构造函数参数注册消费者的方法 创建消费者测试工具时 您可以指定工厂方法或消费者工厂 harness Consumer
  • 单击的单选按钮值显示为未定义

    对于被单击的单选按钮的值 结果显示为未定义 document ready function input radio change function checkResult this function checkResult el var c
  • 寻找 AES-CTR 加密的输入

    由于 CTR 模式下的 AES 非常适合随机访问 假设我有一个使用CipherOutputStream在 AES CTR 模式下 下面的图书馆 不是我的 使用RandomAccessFile允许查找文件中的特定字节偏移量 我最初的想法是使用
  • Spring boot:如何为静态资源添加拦截器?

    我有几个文件夹 static img 我需要向其中一些添加拦截器来检查用户权限 我之前使用过拦截器并以这种方式添加它们 SpringBootApplication EnableTransactionManagement public cla
  • 从字符串中删除所有“不可见”字符?

    我正在编写一个小类来从文件中读取键值对列表并写入Dictionary