[英]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.