当前位置: 首页 > 知识库问答 >
问题:

在第 N 次出现 char 时拆分字符串

壤驷高旻
2023-03-14

我有很多这样的字符串:

29/10/2018 14:50:09402325 671

我想拆分这些字符串,使其如下所示:

29/10/2018 14:50

09402325 671

然后,这些将被添加到数据集中并在以后进行分析。

我遇到的问题是,如果我使用以下代码:

 string[] words = emaildata.Split(':');

它会将它们分裂两次;我只想在第二次出现:时将其拆分一次。

我该怎么做呢?

共有3个答案

尉迟明辉
2023-03-14

并使用正则表达式:https://dotnetfiddle.net/Nfiwmv

using System;
using System.Text.RegularExpressions;

public class Program  {
    public static void Main() {
        string input = "29/10/2018 14:50:09402325 671";
        Regex rx = new Regex(@"(.*):([^:]+)",
            RegexOptions.Compiled | RegexOptions.IgnoreCase);

        MatchCollection matches = rx.Matches(input);
        if ( matches.Count >= 1 ) {
            var m = matches[0].Groups;
            Console.WriteLine(m[1]);
            Console.WriteLine(m[2]);        
        }
    }
}
陆高峰
2023-03-14

您可以反转字符串,然后调用常规的split方法来请求单个结果,然后反转两个结果

赏新知
2023-03-14

您可以使用LastIndexOf()和一些后续的Substring()调用:

string input = "29/10/2018 14:50:09402325 671";

int index = input.LastIndexOf(':');

string firstPart = input.Substring(0, index);
string secondPart = input.Substring(index + 1);

在这里摆弄

然而,另一件要问你自己的事情是,你是否需要把它变得比它需要的更复杂。看起来这个数据在第二个< code>:实例之前将一直是相同的长度,对吗?为什么不在一个已知的索引处进行分割(即不先找到< code>:):

string firstPart = input.Substring(0, 16);
string secondPart = input.Substring(17);
 类似资料:
  • 问题内容: 给定分隔符的第n次出现后,是否存在Python方式来拆分字符串? 给定一个字符串: 它应分为(第二次出现后,定界符为“ _”): 还是实现此目的的唯一方法是计数,拆分和合并? 问题答案: 似乎这是最易读的方式,替代方法是regex)

  • 问题内容: A具有以下格式的一系列字符串。演示示例如下所示: 我正在尝试编写一个Python 3程序,该程序将使用 for 循环遍历每个字符串,并在首次出现字母时将其拆分为一个包含两个元素的列表。 上面的字符串的输出将成为具有以下元素的列表: 和 和 和 和 还有就是 应该 是在编辑器中的前三个例子中第一个字符串后面输入一个空格,但是这只能说明 如何以这种方式分割字符串? 这里有两个相关的帖子:

  • 问题内容: 我从网上得到一个字符串,看起来像这样: 然后,我需要将,和存储在不同的变量中,但是它将不起作用。 现在它只存储整个字符串 怎么了? 问题答案: 该参数是一个普通表达式,在那里有特殊含义;“开始的锚” 您需要做: 通过转义,您是在说“我的意思是字符’^’”

  • 问题内容: 我有一个字符串,它是html页面的完整内容,我正在尝试查找的第二次出现的索引。有人对如何实现这一目标有任何建议吗? 问题答案: 这是一个好玩的镜头;)

  • 问题内容: 我想替换字符串中第n个出现的子字符串。 一定有什么我想做的事情是 最简单,最Python化的方法是什么? 为什么不重复: 我不想在这种方法中使用正则表达式,而我发现的类似问题的大多数答案只是正则表达式剥离或真正复杂的功能。我真的想要尽可能简单而不是正则表达式的解决方案。 问题答案: 我使用简单的函数,该函数列出所有出现的事件,选择第n个位置,并使用它将原始字符串分成两个子字符串。然后,

  • 问题内容: 我想用这样的东西来获取发生的开始位置: 你会怎么做? 问题答案: