gpt4 book ai didi

c# - 拆分字符串后如何精确修剪 1 个空格

转载 作者:太空宇宙 更新时间:2023-11-03 21:09:44 25 4
gpt4 key购买 nike

我制作了一个程序,通过在管道中拆分字符串来评估字符串,字符串是随机生成的,有时空格是需要评估的部分。

HftiVfzRIDBeotsnU uabjvLPC | LstHCfuobtv eVzDUBPn jIRfai

这个字符串两边的长度相同(管道左侧的 2 x 空格),但是当我必须修剪管道两侧的空间时我的问题就来了(我在拆分后这样做)有什么方法可以确保我只修剪 1 个空格而不是全部。到目前为止我的代码:

foreach (string s in str)
{
int bugCount = 0;
string[] info = s.Split('|');
string testCase = info[0].TrimEnd();
char[] testArr = testCase.ToCharArray();
string debugInfo = info[1].TrimStart();
char[] debugArr = debugInfo.ToCharArray();
int arrBound = debugArr.Count();
for (int i = 0; i < arrBound; i++)
if (testArr[i] != debugArr[i])
bugCount++;
if (bugCount <= 2 && bugCount != 0)
Console.WriteLine("Low");
if (bugCount <= 4 && bugCount != 0)
Console.WriteLine("Medium");
if (bugCount <= 6 && bugCount != 0)
Console.WriteLine("High");
if (bugCount > 6)
Console.WriteLine("Critical");
else
Console.WriteLine("Done");

}
Console.ReadLine();

最佳答案

您有 2 个选择。

  1. 如果管道前后总是 1 个空格,则在 {space}|{space} 上拆分。

    myInput.Split(new[]{" | "},StringSplitOptions.None);
  2. 否则,不要使用 TrimStart()TrimEnd(),而是使用 SubString

    var split = myInput.Split('|');
    var s1 = split[0].EndsWith(" ")
    ? split[0].SubString(0,split[0].Length-1)
    : split[0];
    var s2 = split[1].StartsWith(" ")
    ? split[1].SubString(1) // to end of line
    : split[1];

注意,这里有一些复杂性——如果管道周围没有空格,但最后一个/第一个字符是合法的(数据)空格字符,上面将把它切断。您需要更多逻辑,但希望这能让您入门!

关于c# - 拆分字符串后如何精确修剪 1 个空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38498413/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com