VBScript - "类型不匹配" InStr函数出错

时间:2017-05-01 13:59:39

标签: string vbscript type-mismatch

我有一个像这样的字符串:

DECLARE 
  list l_table := l_table();
  limit NUMBER;
BEGIN
  limit := &limit;

  FOR i IN 1..limit LOOP
    list.EXTEND;
    list( list.COUNT ) := o_list( &value1, &value2, &value3 );
  END LOOP;

  IF limit < 1 THEN
    DBMS_OUTPUT.PUT_LINE('PLEASE ENTER A VALID LIMIT FOR THE LIST');
  END IF; 
END;
/

这是我想在主字符串中找到位置的子字符串:

<?xml version="1.0" encoding="UTF-8"?>
<persistence version="2.1" xmlns="http://xmlns.jcp.org/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/persistence http://xmlns.jcp.org/xml/ns/persistence/persistence_2_1.xsd">
    <persistence-unit name="PiDevECommerce-ejb">
        <jta-data-source>java:jboss/datasources/MySQLDS</jta-data-source>
        <class>ecommerce.entites.Admin</class>
        <class>ecommerce.entites.Brand</class>
        <class>ecommerce.entites.Category</class>
        <class>ecommerce.entites.Coupon</class>
        <class>ecommerce.entites.Customer</class>
        <class>ecommerce.entites.Event</class>
        <class>ecommerce.entites.Offre</class>
        <class>ecommerce.entites.Product</class>
        <class>ecommerce.entites.Publication</class>
        <class>ecommerce.entites.ReclamationCoupon</class>
        <class>ecommerce.entites.ReclamationOffre</class>
        <class>ecommerce.entites.Review</class>
        <class>ecommerce.entites.Store</class>
        <class>ecommerce.entites.Storemanager</class>
        <class>ecommerce.entites.Transaction</class>
        <class>ecommerce.entites.TransactionPK</class>
        <class>ecommerce.entites.User</class>
        <properties>
            <property name="hibernate.hbm2ddl.auto" value="create-drop"/>
        </properties>
    </persistence-unit>
</persistence>

我尝试使用"5/1/2017 7:11:15 PM | String is very long - part 1 - part 999 - 2017-04-28.dots, Replace Existing" 函数找到它:

"String is very long - part 1 - part 999 - 2017-04-28.dots"

我期望的结果是InStr

而不是结果,它会抛出以下错误:

  

类型不匹配:&#39; [string:&#34; 5/1/2017 7:11:15 PM&#34;]&#39; (代码:800A000D)

正如此错误所描述的那样,我不能使用MsgBox CStr(InStr("5/1/2017 7:11:15 PM | String is very long - part 1 - part 999 - 2017-04-28.dots, Replace Existing", "String is very long - part 1 - part 999 - 2017-04-28.dots", 1, 1)) 函数来处理那些有空格的字符串吗?

先谢谢。

1 个答案:

答案 0 :(得分:2)

请参阅:https://www.w3schools.com/asp/func_instr.asp

您正在提供InStr 4参数,这意味着它期望第一个参数是一个整数,指示字符串中开始搜索的位置。因此,由于它期望一个整数,并且你给它一个字符串,它会抛出类型不匹配。

只需移动其中一个1作为第一个参数。