拆分具有空格的字符串,除非它们包含在“引号”内?

2024-04-25

为了让事情变得简单:

string streamR = sr.ReadLine();  // sr.Readline results in:
                                 //                         one "two two"

我希望能够将它们保存为两个不同的字符串,删除除引号之间的空格之外的所有空格。因此,我需要的是:

string 1 = one
string 2 = two two

到目前为止,我发现以下代码有效,但它删除了引号内的空格。

//streamR.ReadLine only has two strings
  string[] splitter = streamR.Split(' ');
    str1 = splitter[0];
    // Only set str2 if the length is >1
    str2 = splitter.Length > 1 ? splitter[1] : string.Empty;

其输出变为

one
two

我调查过正则表达式按空格分割,除非用引号引起来 https://stackoverflow.com/questions/554013/regular-expression-to-split-on-spaces-unless-in-quotes但是我似乎无法让正则表达式工作/理解代码,特别是如何拆分它们,使它们成为两个不同的字符串。那里的所有代码都会给我一个编译错误(我正在使用System.Text.RegularExpressions)


string input = "one \"two two\" three \"four four\" five six";
var parts = Regex.Matches(input, @"[\""].+?[\""]|[^ ]+")
                .Cast<Match>()
                .Select(m => m.Value)
                .ToList();
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

拆分具有空格的字符串,除非它们包含在“引号”内? 的相关文章

随机推荐

  • 计算和合并行

    我有一个表 通过将国家 地区代码添加到每行的 国家 地区代码 列来记录 Web 应用程序中的用户位置 每行代表对特定区域的访问 所以我有一些数据 比如 COL1 COL2 COL3 countrycode asd asd asd NZ as
  • 使用 Kafka Streams 在输出中设置时间戳无法进行转换

    假设我们有一个变压器 用 Scala 编写 new Transformer String V String V var context ProcessorContext override def init context Processor
  • 如何在弹性搜索(aws)中存储日期范围数据并搜索范围?

    我正在尝试在弹性搜索中存储酒店房间可用性 然后我需要 搜索从某个日期到另一个日期可用的房间 我想出了 存储数据以确保可用性的两种方式 如下 这里可用性字典存储了所有日期 每个日期键的值是 true 或 false 代表其可用 那天与否 id
  • R:有没有一种简单有效的方法来获取分块对角矩阵的构建分块矩阵列表?

    我正在寻找一个 内置 函数 它通过以下方式有效地返回块对角矩阵的构建块列表 而不是迭代插槽以手动获取列表 construct bdiag matrix library Matrix listElems lt list matrix 1 4
  • 生成 Java JNI 标头

    我想做的就是使用 JDK Javah exe 程序生成 JNI 头文件 但无论我尝试什么 我都会收到错误消息 错误 找不到 ddg ndkTest NativeLib 的类文件 其中 ddg ndkTest 是命名空间 NativeLib
  • AWS S3 StringLike条件阻止对存储桶的请求

    我有以下 s3 IAM 政策 它的目的是允许我从存储桶内的 temp prod tests 位置复制文件或将文件放入下面的存储桶中 在策略中 我添加了 StringLike 条件 我希望该条件允许策略中的权限允许在对象前缀包含时进行复制和放
  • 使用多个参数多次调用傀儡定义的资源

    我有一个简单的木偶定义的资源 如下所示 define mything number device otherthing file place number ensure gt directory mount place number dev
  • 使用vuex时如何在typescript语法中使用mapState函数?

    我在与 vuex 集成的 vuejs 项目中使用 typescript 语法 我想使用 ts 文件中计算的 mapState 方法 但出现语法错误 目前我正在使用文档建议的计算函数语法 我的意思是 get counter return th
  • 为什么这段Java代码会触发ConcurrentModificationException?

    在循环的第一行中 我收到错误 但我不明白为什么 根据我的阅读 只有当我迭代一个集合并尝试同时修改它时 才会发生这种情况 但事实并非如此 在代码中 list属于类型ArrayList
  • 在 Spring 中,为什么 POJO 上的 CGLib 的行号会丢失?

    Spring MVC Web 应用程序 我有一个不带行号的堆栈跟踪 显示在底部 我认为这是由于 CGLib 在控制器上运行所致 但这对我来说很奇怪 实际的异常发生在ServerBatchRemoteRequestAcceptor 一个没有注
  • 使用 RCurl 登录 WordPress

    我想使用 R 的 RCurl 包登录 WordPress 网站 以便安装 WordPress 插件 可能在 WordPress 的某些选项页面上使用 postForm 由于该网站受密码保护 我请求您帮助如何验证我的 R 会话 我发现以下三个
  • AND 运算符不能与布尔值和字符串一起使用

    我有一个 LINQ2SQL 语句 其中使用两个条件 var query1 from r in dt Test where r ID 92 r Status I select r ID r Status I 但它给了我一个错误 即 AND 运
  • UITableView 具有不同的可选部分?

    我正在寻找一种 好 的方法来解决一些特殊要求 我有一个包含不同部分的 UITableView 例如 基础数据 关于我 兴趣 Images 基本数据始终包含值 但仍然存在可变行数 所有其他 类别 可以包含行 也可以为空 如果没有数据 则不应显
  • 获取比较指令的值

    据我了解 cmp 指令将设置标志寄存器中的一些位 然后 您可以使用 jle jnp 等指令基于这些指令进行分支 我想知道如何从比较中恢复整数值 示例 以下是有效的 c 语法 y x a gt 13 因此 a 与 13 进行比较 得到 tru
  • 如何将 dateTimePicker 值设置为 DateTime.MaxValue

    这会在运行时生成错误 dateTimePicker Value DateTime MaxValue 你不能 DateTimePicker 支持的最大日期为DateTimePicker MaximumDateTime http msdn mi
  • 如何在 C++ 中更改活动桌面壁纸

    你好 我想写一个小程序来更改 Windows 7 中的壁纸 我想使用以下代码 include windows h include wininet h include shlobj h include wchar h include
  • Python 中高效的逐元素函数计算

    我有以下优化问题 给定两个 np arraysX Y和一个函数K我想尽快计算矩阵关联 gram matrix 其中 i j th元素计算为K X i Y j 这里有一个使用嵌套 for 循环的实现 它被认为是解决此类问题最慢的 def pr
  • 设计邀请:可选择发送电子邮件

    在 devise invitable 中 您可以通过执行以下操作来邀请新用户 User invite email gt email protected cdn cgi l email protection name gt John Doe
  • 如何在运行时从java对象获取实例变量的行号

    我想在运行时查找 Java 文件中实例变量的行号 到目前为止我的理解 它可以通过java反射来完成 但不知道该怎么做 提前致谢 简短的回答 不可以 如果你想得到any运行时的行号信息 您首先必须确保您的类已编译并保留行号信息 如果您不拥有这
  • 拆分具有空格的字符串,除非它们包含在“引号”内?

    为了让事情变得简单 string streamR sr ReadLine sr Readline results in one two two 我希望能够将它们保存为两个不同的字符串 删除除引号之间的空格之外的所有空格 因此 我需要的是 s