繁体   English   中英

我怎样才能用数字句点分割字符串,逗号

[英]How can i split string with number periods also, commas

我有如下字符串

1. menggambarkan , mengecat , melukis;

2. menyalin , membuat; 

3. memotret , film , menjepret

如何拆分它们,使字符串成为字符串数组,结果将像

menggambarkan
mengecat
melukis 
menyalin 
membuat
memotret 
film
menjepret

以下是我已经尝试过的

input.Split(new string[] {  " , "}, StringSplitOptions.None)

但是我怎样才能删除带有点的数字,如 1. 2. 3. 并签名;

我认为我们可以使用regex作为解决方案,你知道吗?

提取所有单词的正则表达式方法

string input = "1. menggambarkan , mengecat , melukis ; 2. menyalin , membuat; 3. memotret , film , menjepret";
string[] result = Regex.Matches(input, "[a-z]+").Cast<Match>().Select(x => x.Value).ToArray();

https://dotnetfiddle.net/mHf1eu

例如:

var regex = new Regex(@"^\d+\.\s*");
var s = "1. menggambarkan , mengecat , melukis ; 2. menyalin , membuat; 3. memotret , film , menjepret";
var words = s.Split(new char[]{',', ';'}).Select(w => regex.Replace(w.Trim(), string.Empty));

沿着这条线的东西。 您必须删除匹配的空行。

using System;
using System.Text.RegularExpressions;  

public class Program
{
    public static void Main()
    {
        string URL = " 1. menggambarkan , mengecat , melukis ; 2. menyalin , membuat ; 3. memotret , film , menjepret";

        string[] splitString = Regex.Split(URL, @"[(\s;\s\d.\s)(\s\d.\s)(\s,\s)]");  

        foreach (var item in splitString)  
        {  
            Console.WriteLine(item);  
        } 
    }
}

您也可以使用Linq

using System;
using System.Linq;

public class Program
{
    public static void Main()
    {
        var str = "1. menggambarkan , mengecat , melukis ; 2. menyalin , membuat; 3. memotret , film , menjepret";
        str = new string((from c in str
                  where char.IsWhiteSpace(c) || char.IsLetter(c)
                  select c
       ).ToArray());
        Console.WriteLine(str);
        string[] array = str.Split(new string[] {" "}, StringSplitOptions.RemoveEmptyEntries);
        Console.WriteLine(array.Count());
    }
}

Output

menggambarkan  mengecat  melukis   menyalin  membuat  memotret  film  menjepret
8

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM