c# - 用数字和单词分割句子
问题描述
这是我的句子:
嗨,123,它是 564 和 678,所以让我们开始吧。
我需要用这样的数字和单词对其进行切片:
[0] -> "Hi "
[1] -> "123"
[2] -> " it is a "
[3] -> "564"
[4] -> " and "
[5] -> "678"
[6] -> ", so let's work."
char
如果数组的每个块中有或没有数字,我试图将它按空格分割并加入。但这不是一个好主意,它有很多编码要加入和拆分。
即使使用Linq,有什么简单的方法吗?
解决方案
试试这个代码,它使用带有模式的正则表达式,\d+
这意味着一个或多个数字,然后它按匹配这个模式的字符串分割:
string[] sentences = {"Hi 123 it is a 564 and 678, so let's work.",
"123 asd asd 123",
"123 asd 123 asd"};
for (int i = 0; i < sentences.Length; i++)
{
var sliced = Regex.Split(sentences[i], @"(\d+)").Where(s => !string.IsNullOrEmpty(s)).ToArray();
}
推荐阅读
- javascript - 本地主机无法显示在 javascript 中创建的输出映射
- python-3.x - 如何在Python中循环在多个Excel工作表上应用函数?
- eos - 检查节点同步是否已在 docker 容器中启动
- python - 使用远程容器 Python 解释器进行 PyCharm 远程调试
- html - 使用平滑滚动时,为什么它不滚动到我指定的要滚动到的区域?
- python - 使用ontimer函数让两只海龟同时移动
- ios - 运行 git hooks 时 Xcode git commit 失败
- java - 使用 @Transactional 方法在 Springboot JPA 中实现悲观锁
- sql-server - 使用 SSIS 将具有不同列数的文件加载到同一个表中
- firebase - Firebase:如何以编程方式获取项目的默认实时数据库 URL?