gpt4 book ai didi

c# - 第一个字母数字字符处的子字符串

转载 作者:太空宇宙 更新时间:2023-11-03 22:06:06 24 4
gpt4 key购买 nike

我正在寻找一种在第一个字母数字字符之后将字符串分成两部分的快速方法。

我知道我可以在字符串中创建 foreach 字符并检查它是数字还是字母数字,但我不知道它是否快。

例如我有一个字符串“25I10”

我需要将它拆分为 25 和 I10(我不能将它作为 0,2 的子字符串,因为第一个数字可以更小或更大。我必须将它拆分为第一个字母数字字符,因为这是命令的开始位置。

它需要快,因为我在 telnet 上收到很多命令,我不想减慢它的速度。

是的,我知道我可以将字符串发送到另一个线程而不是拆分它,但我不想为此创建很多线程。

有人知道最好的选择吗?

最佳答案

int pos = Regex.Match("123abc456", "[a-z]").Index;

您还可以测试是否匹配:

Match m = Regex.Match("123abc456", "[a-z]");
int pos = -1;
if (m.Success) {
pos = m.Index;
}

模式 \p{L} 而不是 [a-z] 也将匹配来自非英语语言的重音字母。

也可以直接用Regex分割:

string[] parts = Regex.Split("123X456", @"\p{L}");

关于c# - 第一个字母数字字符处的子字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8417405/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com