Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/324.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# c在条件为真时拆分字符上的字符串_C#_.net_Visual Studio 2010 - Fatal编程技术网

C# c在条件为真时拆分字符上的字符串

C# c在条件为真时拆分字符上的字符串,c#,.net,visual-studio-2010,C#,.net,Visual Studio 2010,我希望使用String.split方法来拆分“:”字符上的字符串。然而,问题是,在诸如《时代》之类的问题上也存在分歧。我不想发生这种事。我可以指定一个谓词,只有当为true时,字符串才应该被拆分 理想情况下,我只希望在搜索字符两侧的字符不是数字时分割字符串 编辑: 输入示例: 发布日期:1922年2月8日描述:示例描述时间:03:43 期望输出: [发布日期:1922年2月8日描述,示例描述时间, 03:43] 为此,您可以使用正则表达式: var output = Regex.Split(i

我希望使用String.split方法来拆分“:”字符上的字符串。然而,问题是,在诸如《时代》之类的问题上也存在分歧。我不想发生这种事。我可以指定一个谓词,只有当为true时,字符串才应该被拆分

理想情况下,我只希望在搜索字符两侧的字符不是数字时分割字符串

编辑:

输入示例:

发布日期:1922年2月8日描述:示例描述时间:03:43

期望输出:

[发布日期:1922年2月8日描述,示例描述时间, 03:43]

为此,您可以使用正则表达式:

 var output = Regex.Split(input,"(?<!\\d\\s*)\\s*:\\s*|\\s*:\\s*(?!\\s*\\d)");
 //Example:
 string input = "a:b:c:12:00:00";
 //Output
 a
 b
 c
 12:00:00
为此,您可以使用正则表达式:

 var output = Regex.Split(input,"(?<!\\d\\s*)\\s*:\\s*|\\s*:\\s*(?!\\s*\\d)");
 //Example:
 string input = "a:b:c:12:00:00";
 //Output
 a
 b
 c
 12:00:00

使用正则表达式找出您的字符串类型,如果它与您的cretirea匹配,则进行拆分。像下面这样

        Regex r = new Regex(".[0-9]:.[0-9]", RegexOptions.IgnoreCase);
        string s = "00:46";
        Match m = r.Match(s);
        string[] str = !m.Success ? s.Split(':') : null;

使用正则表达式找出您的字符串类型,如果它与您的cretirea匹配,则进行拆分。像下面这样

        Regex r = new Regex(".[0-9]:.[0-9]", RegexOptions.IgnoreCase);
        string s = "00:46";
        Match m = r.Match(s);
        string[] str = !m.Success ? s.Split(':') : null;

对于给定的示例,只需按逗号后跟空格进行拆分即可。取决于您的数据格式,它可能对您来说已经足够好了。

对于给定的示例,简单地用逗号和空格分隔即可。根据您的数据格式,它可能对您来说已经足够好了。

请向我们展示和输入以及您想要的预期输出您已经尝试了哪些内容?听起来正则表达式将是这个问题的解决方案,标准字符串。Split不会因此而减少它。确实,带组的正则表达式应该会有所帮助。添加一些示例。为什么不先拆分字符串,然后将数字与拆分后的字符串合并。例如上午11:10:21。T:e:s:T在这种情况下,您可以首先拆分整个字符串,并将拆分后的字符串分配给数组,即11;10; 上午21点。TEsT现在,您可以简单地合并这些数字。这将给你11:10;上午21点。TEsT请向我们展示您想要的输入和预期输出您已经尝试了哪些内容?听起来正则表达式将是解决此问题的方法,标准字符串。Split不会因此而停止。事实上,带有组的正则表达式应该会有所帮助。添加一些示例。为什么不先拆分字符串,然后将数字与拆分后的字符串合并。例如上午11:10:21。T:e:s:T在这种情况下,您可以首先拆分整个字符串,并将拆分后的字符串分配给数组,即11;10; 上午21点。TEsT现在,您可以简单地合并这些数字。这将给你11:10;上午21点。TEsT工作得很有魅力。欢呼像一种魅力。干杯