sách gpt4 ai đã đi

Cách tốt để sắp xếp các chuỗi chứa số trong bài kiểm tra 1, bài kiểm tra 10, bài kiểm tra 2

In lại 作者:太空宇宙 更新时间:2023-11-03 18:51:27 31 4
mua khóa gpt4 Nike

我正在使用 C#、.NET 4.7

我有 3 个字符串,即。

[test.1, test.10, test.2]

我需要对它们进行排序以获得:

test.1
test.2
test.10

我可能会得到其他的字符串,比如

[1test, 10test, 2test]

应该产生:

1test
2test
10test

使用相同的方法。

想法?

Cảm ơn trước.

1 Câu trả lời

您可以使用正则表达式解析数字,然后对字符串进行排序。例如,

Regex re = new Regex(@"\d+");
var result = strArray.Where(x=>re.Match(x).Success)
.Select(x=> new { Key = int.Parse(re.Match(x).Value),Value = x})
.OrderBy(x=>x.Key).Select(x=>x.Value);

其中 strArray 是字符串的集合。

请注意,在上述情况下,您忽略了没有数字部分的字符串(因为它没有在 OP 中描述)。字符串的数字部分使用 Regex 进行解析,然后用于对集合进行排序。

例子,输入

var strArray = new string[]{"1test", "10test", "2test"};

Đầu ra

1test 
2test
10test

输入

var strArray = new string[]{"test.1", "test.10", "test.2"};

Đầu ra

test.1 
test.2
test.10

关于c# - 在测试 1、测试 10、测试 2 中对包含数字的字符串进行排序的好方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57309007/

31 4 0
Bài viết được đề xuất: c# - 获取范围内的所有数字(12300 > 12400)
Bài viết được đề xuất: lisp - 方案符号等价
Bài viết được đề xuất: lisp - 为什么 plant1 一直是 NIL?
Bài viết được đề xuất: c# - 如何在运行时在 Entity Framework Core 中真正定位表
太空宇宙
Hồ sơ cá nhân

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá Didi Taxi miễn phí
Mã giảm giá Didi Taxi
Giấy chứng nhận ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com