【问题标题】:How to separate multiple string List taken as input in single line in c#如何在c#中的单行中分隔多个字符串列表作为输入
【发布时间】:2020-02-12 07:01:00
【问题描述】:

程序将输入作为单行中的消息列表,这里是消息 消息=“上午 10:10 来自 Ram 的电子邮件”“上午 10:15 来自 Ramesh 的电子邮件”“上午 10:20 来自 Rajan 的电子邮件”“上午 10:25 来自 Rakesh 的电子邮件”。这些消息在单行中作为输入,我们必须在不同的行中单独显示 这是我的代码,我得到一个错误。

using System;
using System.Collections;
class HelloWorld 
{
  static void Main() 
 {

    string c=Console.ReadLine();
    string[] sl=c.Split("" "");
    foreach(string cc in sl)
        Console.WriteLine(cc);
  }
}

输入格式

"email from Ram at 10:10 am" "email from Ramesh at 10:15 am" "email from Rajan at 10:20 am" "email from Rakesh at 10:25 am"

预期输出:

email from Rakesh at 10:25 am
email from Rajan at 10:20 am
email from Ramesh at 10:15 am
email from Ram at 10:10 am

请帮忙,因为我是 C# 新手

【问题讨论】:

  • 问题是你被包含在你想要保留的字符串中的空格分割。
  • 不完全是空格,我想用 " " 模式分割,但我得到错误

标签: c# string list


【解决方案1】:

试试这个:

var str = @"email from Ram at 10:10 am"" ""email from Ramesh at 10:15 am"" ""email from Rajan at 10:20 am"" ""email from Rakesh at 10:25 am";

string[] sl=str.Trim().Split(new string[] { "\" \"" }, StringSplitOptions.None);

foreach(string st in sl) {
    Console.WriteLine(st);
}

输出:

上午 10:10 来自 Ram 的电子邮件

上午 10:15 来自 Ramesh 的电子邮件

上午 10:20 来自 Rajan 的电子邮件

上午 10:25 来自 Rakesh 的电子邮件

在此处查看结果:https://dotnetfiddle.net/5zlfJf

【讨论】:

  • 记得剪掉开头和结尾的-"-字符
  • 将错误作为参数#1' cannot convert string' 表达式输入`char[]'
  • 试试这个c.Split("\" \"".ToCharArray())
  • 即使这个 c.Split("\" \"".ToCharArray()) 没有得到预期的输出
【解决方案2】:

可以使用额外的",因为它们是字符串文字的一部分。编译器会将它们解释为单个 ":

var str = @"email from Ram at 10:10 am"" ""email from Ramesh at 10:15 am"" ""email from Rajan at 10:20 am"" ""email from Rakesh at 10:25 am";            
var splitted = str.Split(new string[] { @""" """ }, StringSplitOptions.None);

或其他方式:

尝试使用Split:

var str = @"email from Ram at 10:10 am"" ""email from Ramesh at 10:15 am"" ""email from Rajan at 10:20 am"" ""email from Rakesh at 10:25 am";
var splitted = str.Split(new []{ '"'}, StringSplitOptions.RemoveEmptyEntries)
    .Where(s=> !string.IsNullOrWhiteSpace(s)).ToList();

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-01-30
    • 2013-09-24
    • 2023-03-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-12-19
    相关资源
    最近更新 更多