繁体   English   中英

C#分割字符串

[英]C# Split the string

我想知道如何将字符串分成不同的长度或块。 例如,我希望将名称分为0到19,起始位置为0,结束位置为19。 关于如何执行此操作的任何想法?

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace employeefinal
{
    class Program
    {
        static void Main(string[] args)
        {
            employee i = new employee("Tom");
            Console.WriteLine(i.getString());
            Console.ReadLine();
        }

        public class employee
        {
            string employeename = "Name: John Smith, L, U, 012, 2, 7, 2, 4";

            public employee(string name)
            {
                this.employeename = name;
            }

            public string getString()
            {
                employeename.Substring(0, 19).Trim();
                return employeename;
            }
        }
    }
}

您可能要执行以下操作,因为字符串在C#中是不可变的。 当您按原样进行操作时,“效果”将丢失,因为您没有将结果分配给任何对象。

return employeename.Substring(0, 19).Trim();

还要注意,一旦通过构造函数将“ Tom”分配给原始字符串,就会丢失原始字符串。

PS。 当您传递超出字符串实例范围的起始位置和长度时,您将获得异常。

据我了解,您想拆分逗号分隔符,您有两个选择:

选项01:

  public string getString()
  {
      return employeename.Substring(0, employeename.IndexOf(',').Trim();
  }

选项02:

    public string getString()
    {
        return employeename.Split(',').FirstOrDefault();
    }

很高兴为您服务!

遵循Giorgi所说的,更改实现:

      public string getString()
        {
            if (employeename.Length > 19)
            {
                 return employeename.Substring(0, 19).Trim();
            }
            else
            {
                  //return error OR
                  return employeename;
            }

        }

另外,给它分配“ tom”时,字符串太短,必须确保至少有19个字符。.我前面没有VS,但是基本上上述实现更好

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM