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