0

我有一个字符串列表,其中有一个我希望提取的工作编号。这个数字的格式和位置总是不同的。

EG(粗体的工作编号)。

  • JC Co#:1 联系人:20202。月份:2012 年 1 月 1 日上午 12:00
  • JC Co#:1 联系人:321。月份:2012 年 1 月 1 日上午 12:00
  • JC Co#:1 联系人:20093。月份:2012 年 1 月 1 日上午 12:00
  • JC Co#:1 份工作:OOSJ。月份:2012 年 1 月 1 日 12:00AM
  • JC Co#:1 份工作:O333J。月份:2012 年 1 月 1 日 12:00AM
  • JC Co#:1 份工作:323J。ACO:2012 年 1 月 1 日上午 12:00
4

2 回答 2

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);

我不确定间距,所以你可能想要修剪结果。

于 2013-03-14T00:24:22.037 回答
0

使用可以将 substr 与 instr 一起使用。就像你的字段值是 asdfg - itsnoteasy - whattod

你不需要 -whattodo从现场 substr(field,0, instr(field,'-',1,2)-1)

看链接,

http://www.crystalreportsbook.com/Forum/forum_posts.asp?TID=17842 http://www.crystalreportsbook.com/Forum/forum_posts.asp?TID=10231

于 2013-03-14T12:09:49.977 回答