regex - VB.Net 删除第三个连字符后的所有内容

标签 regex vb.net hyphen

这是我要修改的字符串:
170-0175-00B -轴承板加工.asm:2

我想保留“ 170-0175-00B ”。所以我需要删除第三个连字符以及它后面的任何内容。

最佳答案

快速解决方案

string test = "170-0175-00B-BEARING PLATE MACHINING.asm:2";
int num = 2;
int index = test.IndexOf('-');
while(index > 0 && num > 0)
{
    index = test.IndexOf('-', index+1);
    num--;
}
if(index > 0)
    test = test.Substring(0, index);

当然,如果您正在搜索最后一个连字符,则更简单
int index = test.LastIndexOf('-');
if(index > 0)
    test = test.Substring(0, index);

关于regex - VB.Net 删除第三个连字符后的所有内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13808629/

相关文章:

在 Twitter API 中搜索带有 Dash 的单词

php - 奇怪的preg_replace行为将字符变成数字

php - 短语解析和趋势

javascript - 修改现有的 url 验证正则表达式以在 javascript 中接受更多 url

python - 找到所有用双引号括起来的子字符串,满足python正则表达式中的一些约束

vb.net - 如何在不提示用户的情况下覆盖 Excel 应用程序

wpf - 滚动内部列表框时,WPF 触摸屏应用程序中本应全屏显示的窗口正在移动

regex - 对多个文件使用 pcregrep

c# - 使用 javascript 从 ListView 获取隐藏字段的值

javascript - 用javascript编写CSS属性无法正常工作