2013-03-14 86 views
0

我有一个字符串列表,其中有一个我希望提取的工作号。这个号码的格式和位置总是不同的。如何在位置更改时从字符串中提取文本? (Visual Basic)

E.G. (工作号码以粗体显示)。

  • JC有限公司#:1个联系人:20202.月份:2012年1月1日12:00 AM
  • JC有限公司#:1个联系人:月份:2012年1月1日12:00 AM
  • JC Co#:1联系方式:20093.月份:Jan 1 2012 12:00 AM
  • JC Co#:1工作:OOSJ。月份:Jan 1 2012 12:00:00
  • JC Co#:1招聘人数:O333J。月份:Jan 1 2012 12:00:00
  • JC Co#:1工作:323J。 ACO:2012年1月1日上午12点
+2

什么VB的味道? VBA,VB6,VBScript,VB.NET? Crystal Reports与你的问题有什么关系? (或基本,这是*不* VB或报告。)请使用与您的问题相关的特定标签。您可以[编辑]包含正确的内容,并删除那些不适用的内容 - 您可能希望在处理主题时修正主题中的错字。 – 2013-03-14 00:21:18

回答

1

根据所给出的例子,我建议的策略:

  1. 找到第二个冒号
  2. 找不出第二个之后的第一个句号/期结肠
  3. 选择这两个

之间我没有访问(任何变化)VB此刻的文本,但在C#中看起来会例如:

var text = "JC Co#: 1 Job: OOSJ. Month: Jan 1 2012 12:00AM"; 
var firstColonPosition = text.IndexOf(":"); 
var secondColonPosition = text.IndexOf(":", firstColonPosition + 1); 
var firstPeriodPosition = text.IndexOf(".", secondColonPosition); 
var jobNumberText = text.Substring(secondColonPosition + 1, firstPeriodPosition - secondColonPosition - 1); 

我不确定间距,因此您可能需要修剪结果。