[英]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();
例如:
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.