如何识别对象字符串中的文本

问题描述

我想在给定列的字符串中找到指定的文本,并计算该字符串在整个列中重复多少次。

例如,在列的字符串中找到“ XX”,然后将找到文本的次数打印到对话框。

Module m = current
Object o

    string s
    string x
    int offset = null
    int len    = null
    int c
    
for o in m do
{
    string s = probeAttr_(o,"AttributeA")
    
    
        x = o."Object Text" ""
    if(findplainText(s,"XX",offset,len,false)){

        print "Success "

    } else {

        print "Failed to match"

    }
}

我试图使用命令findplainText,但是我无意间将每个对象都传递为true。 同样,我将输出放置为打印“成功”或“失败匹配”,这样我至少可以得到所传递内容数量。不幸的是,似乎一切都已经过去了!

我的理解是'probeAttr_(o,“ AttributeA”)'允许我指定并输入要搜索的列。同样,o。“ Object Text”“”现在允许我在任何对象中查找并搜索包含的任何文本。我还意识到变量x并没有被使用,但是假设它可以使用某种方式来解决此问题。

我只在表面上使用DOORS,但是具有此功能将节省其他人员大量的时间。我意识到这可以使用DOORS的高级过滤功能来实现,但我可以将此代码与其他简单命令进行组合以节省时间。

预先感谢您的帮助!

解决方法

如果您要计算所有对象的属性中文本中指定字符串的每次出现次数,我认为Mike的建议是正确的答案。如果您只是感兴趣,如果指定的字符串在该对象的属性中出现一次,我建议使用Regexp,因为我发现它非常快速,功能强大且易于使用,例如:

Regexp reSearch = regexp2 "XX"
int iCounter = 0
string strOT = ""
for o in m do {
  strOT = o."Object Text" ""
  if (reSearch strOT) {
    iCounter++
  }
}
print "Counted: '" iCounter "'\n"

,

其中大多数已在(DXL/Doors) How to find and count a text in a string?中得到了回答 您可以轻松地与柜台交换“印刷品”。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...