如何在忽略分隔符的情况下拆分字符串?

jde*_*tor 29 .net c# string

我需要拆分一个字符串让我们说"asdf aA asdfget aa uoiu AA"拆分使用"aa"忽略这个案例.至

"asdf "
"asdfget "
"uoiu "
Run Code Online (Sandbox Code Playgroud)

Nol*_*rin 65

没有简单的方法可以实现这一目标string.Split.(好吧,除了为数组中的每个字符小写/大写字母指定拆分字符串的所有排列 - 不是很优雅我认为你会同意.)

但是,Regex.Split应该做得很好.

例:

var parts = Regex.Split(input, "aa", RegexOptions.IgnoreCase);
Run Code Online (Sandbox Code Playgroud)


Sma*_*ery 5

在算法中,您可以使用String.IndexOf方法并将OrdinalIgnoreCase作为StringComparison参数传递.


Cor*_*rin 5

如果您不关心大小写,那么最简单的方法是在使用split之前将字符串强制为全大写或小写.

stringbits = datastring.ToLower().Split("aa")
Run Code Online (Sandbox Code Playgroud)

如果您关心字符串的有趣位而不是分隔符的情况,那么我将使用String.Replace强制所有分隔符到特定的大小写(大写或小写,无关紧要),然后调用String.Split使用匹配分隔符的大小写.

strinbits = datastring.Replace("aA", "aa").Replace("AA", "aa").Split("aa")
Run Code Online (Sandbox Code Playgroud)