首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将StringWriter转换为string[]

将StringWriter转换为string[]
EN

Stack Overflow用户
提问于 2012-04-25 01:53:51
回答 2查看 10.3K关注 0票数 5

我需要创建一个TextWriter来填充一些数据。我将StringWriter用作TextWriter,业务逻辑运行良好。

我有一个不能改变的技术要求,因为它可能会破坏所有的客户端。我需要将TextWriter中的字符串数组string[]用行分隔开。

我试着这样做,但不起作用:

代码语言:javascript
复制
using System;
using System.IO;
using System.Text;

namespace TextWriterToArrayOfStringsDemo
{
    internal static class Program
    {
        private static void Main()
        {
            var stringBuilder = new StringBuilder();
            using (TextWriter writer = new StringWriter(stringBuilder))
            {
                writer.Write("A");
                writer.WriteLine();
                writer.Write("B");
            }

            string fullString = stringBuilder.ToString();
            string replaced = fullString.Replace('\n', '\r');
            string[] arrayOfString = replaced.Split('\r');

            // Returns false but should return true
            Console.WriteLine(arrayOfString.Length == 2);
        }
    }
}

有什么想法或建议吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-04-25 02:00:41

尝试使用Environment.NewLine而不是'\n'进行拆分

代码语言:javascript
复制
        var stringBuilder = new StringBuilder();
        using (TextWriter writer = new StringWriter(stringBuilder))
        {
            writer.Write("A");
            writer.WriteLine();
            writer.Write("B");
        }

        string fullString = stringBuilder.ToString();
        string[] newline = new string[] { Environment.NewLine };
        string[] arrayOfString = fullString.Split(newline, StringSplitOptions.RemoveEmptyEntries);

        // Returns false but should return true
        Console.WriteLine(arrayOfString.Length == 2);
票数 7
EN

Stack Overflow用户

发布于 2012-04-25 02:02:13

一种快速的解决方法是使用Regex拆分:

代码语言:javascript
复制
string[] arrayOfString = 
   System.Text.RegularExpressions.Regex.Split(stringBuilder.ToString(), "\r?\n")
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10303315

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档