【问题标题】:how to get text after a certain comma on C#?如何在 C# 上的某个逗号后获取文本?
【发布时间】:2015-12-10 17:45:46
【问题描述】:

好吧,伙计们,我遇到了这个让我发疯的问题,假设我有一个像 "aaa,bbb,ccc,ddd,eee,fff,ggg" 这样的字符串(没有双引号),我想要得到的只是一个子-来自它的字符串,类似于"ddd,eee,fff,ggg"

我还不得不说,有很多信息,并不是所有的字符串看起来都一样,所以我需要一些通用的东西。

谢谢!

【问题讨论】:

  • 那么 .SubString / .Split 有什么问题? - 这不是一个真正的问题......
  • 我不知道 .SubString 但 .Split 需要获取一个 int 参数才能知道您要引用的字符串的哪一部分,假设我发布的字符串是一个名为 text 的字符串变量,所以text.Split(',')[2] 只会抛出一个包含“ddd”的子字符串,但我想弄湿的是“ddd,eee,fff,ggg”
  • string spltText = "aaa,bbb,ccc,ddd,eee,fff,ggg"; var subStr = spltText.Split(','); 一旦你得到那个..那么你需要非常容易地根据它的数组位置访问数据..你需要显示你现在已经完成了什么代码,因为我已经为你提供了一个简单的起点..!!

标签: c# csv split trim comma


【解决方案1】:

使用带有限制的拆分的一种方式;

string str = "aaa,bbb,ccc,ddd,eee,fff,ggg";

int skip = 3;

string result = str.Split(new[] { ',' }, skip + 1)[skip];

// = "ddd,eee,fff,ggg"

【讨论】:

  • 更好的答案,当然! :D
【解决方案2】:

不确定逗号之间的所有内容是否都是 3 长度。如果是,我会使用选项 2。如果它们都不同,则选择 1。第三种选择是选项 2,但要执行 .IndexOf(",") 多次。

两个选择:

string yourString="aaa,bbb,ccc,ddd,eee,fff,ggg";
string[] partsOfString=yourString.Split(','); //Gives you an array were partsOfString[0] is "aaa" and partsOfString[1] is "bbb"
string trimmed=partsOfString[3]+","+partsOfString[4]+","+partsOfString[5]+","+partsOfSting[6];

//Prints "ddd,eee,fff,ggg"
string trimmed=yourString.Substring(12,14) //Gets the 12th character of your string and goes 14 more characters.

【讨论】:

  • 我想我不是在解释自己,我得说我需要将字符串 "ddd,eee,fff,ggg" 的其余部分放在一个变量中
【解决方案3】:

我会使用stringToSplit.Split(',')

更新:

var startComma = 3;    
var value = string.Join(",", stringToSplit.Split(',').Where((token, index) => index > startComma));

【讨论】:

  • 这行不通,因为我想在第三个逗号之后获取字符串的其余部分
  • @OmarRayo 很高兴为您提供帮助
  • 使用 lambdas 会降低你的程序速度,并且不容易被其他程序读取。我不同意这是解决方案。
  • @SethKitchen 我不同意。他们的 lambda 查询并不复杂,至于被其他程序读取...请详细说明。我认为 lambda 是 C# 提供的强大工具,并且像所有东西一样,如果滥用可能会导致性能下降。你能提供更多关于你的陈述的信息吗?对您的解决方案和我的解决方案进行基准测试……您可能是对的。但我喜欢单线解决方案。
  • “如果误用可能会导致性能下降”应该是您回答的一部分。 “但我喜欢单行解决方案”正是我所说的不容易阅读的意思。如果不阅读这篇文章,我需要运行您的代码以了解它在做什么。仅仅因为对原始程序员来说很容易并不意味着对同事来说很容易,尤其是在一个庞大的程序中。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-12-17
  • 1970-01-01
  • 2012-03-19
  • 1970-01-01
  • 1970-01-01
  • 2013-09-16
相关资源
最近更新 更多