簡體   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