2016-08-06 2 views

답변

0

정규식을 사용합니다. 귀하의 경우, 정규식 -([^0-9]+) 원하는대로 일치합니다.

-을 찾은 다음 숫자 뒤에 숫자가 아닌 모든 값을 캡처하고 숫자가 있으면 중지합니다.

펜타 호에서 정규 표현식에 대한 정보는 here입니다.

+0

안녕하세요, 회신 해 주셔서 감사합니다. 문자열의 검색 및 숫자 문자와 숫자 charcacter 사이의 문자를 자르는 정확한 코드를 공유 할 수 있습니까? 나는 자바 스크립트가 처음이다. – Rajpal

-1

@Laurel에서 제안한대로 REGEX 평가 단계를 사용할 수 있습니다.

빠른 데모를 작성하고이 스크린 샷과 함께 여기에 코드를 남겼습니다. - demo

변환 코드 XML 소스는

사용 방법 : 빈 텍스트 파일에 붙여 넣기를하고 'demo.ktr'

<?xml version="1.0" encoding="UTF-8"?> 
<transformation> 
    <info> 
    <name>REGEX_for_dash_separated_string</name> 
    <description/> 
    <extended_description/> 
    <trans_version/> 
    <trans_type>Normal</trans_type> 
    <directory>&#x2f;</directory> 
    <parameters> 
    </parameters> 
    <log> 
<trans-log-table><connection/> 
<schema/> 
<table/> 
<size_limit_lines/> 
<interval/> 
<timeout_days/> 
<field><id>ID_BATCH</id><enabled>Y</enabled><name>ID_BATCH</name></field><field><id>CHANNEL_ID</id><enabled>Y</enabled><name>CHANNEL_ID</name></field><field><id>TRANSNAME</id><enabled>Y</enabled><name>TRANSNAME</name></field><field><id>STATUS</id><enabled>Y</enabled><name>STATUS</name></field><field><id>LINES_READ</id><enabled>Y</enabled><name>LINES_READ</name><subject/></field><field><id>LINES_WRITTEN</id><enabled>Y</enabled><name>LINES_WRITTEN</name><subject/></field><field><id>LINES_UPDATED</id><enabled>Y</enabled><name>LINES_UPDATED</name><subject/></field><field><id>LINES_INPUT</id><enabled>Y</enabled><name>LINES_INPUT</name><subject/></field><field><id>LINES_OUTPUT</id><enabled>Y</enabled><name>LINES_OUTPUT</name><subject/></field><field><id>LINES_REJECTED</id><enabled>Y</enabled><name>LINES_REJECTED</name><subject/></field><field><id>ERRORS</id><enabled>Y</enabled><name>ERRORS</name></field><field><id>STARTDATE</id><enabled>Y</enabled><name>STARTDATE</name></field><field><id>ENDDATE</id><enabled>Y</enabled><name>ENDDATE</name></field><field><id>LOGDATE</id><enabled>Y</enabled><name>LOGDATE</name></field><field><id>DEPDATE</id><enabled>Y</enabled><name>DEPDATE</name></field><field><id>REPLAYDATE</id><enabled>Y</enabled><name>REPLAYDATE</name></field><field><id>LOG_FIELD</id><enabled>Y</enabled><name>LOG_FIELD</name></field><field><id>EXECUTING_SERVER</id><enabled>N</enabled><name>EXECUTING_SERVER</name></field><field><id>EXECUTING_USER</id><enabled>N</enabled><name>EXECUTING_USER</name></field><field><id>CLIENT</id><enabled>N</enabled><name>CLIENT</name></field></trans-log-table> 
<perf-log-table><connection/> 
<schema/> 
<table/> 
<interval/> 
<timeout_days/> 
<field><id>ID_BATCH</id><enabled>Y</enabled><name>ID_BATCH</name></field><field><id>SEQ_NR</id><enabled>Y</enabled><name>SEQ_NR</name></field><field><id>LOGDATE</id><enabled>Y</enabled><name>LOGDATE</name></field><field><id>TRANSNAME</id><enabled>Y</enabled><name>TRANSNAME</name></field><field><id>STEPNAME</id><enabled>Y</enabled><name>STEPNAME</name></field><field><id>STEP_COPY</id><enabled>Y</enabled><name>STEP_COPY</name></field><field><id>LINES_READ</id><enabled>Y</enabled><name>LINES_READ</name></field><field><id>LINES_WRITTEN</id><enabled>Y</enabled><name>LINES_WRITTEN</name></field><field><id>LINES_UPDATED</id><enabled>Y</enabled><name>LINES_UPDATED</name></field><field><id>LINES_INPUT</id><enabled>Y</enabled><name>LINES_INPUT</name></field><field><id>LINES_OUTPUT</id><enabled>Y</enabled><name>LINES_OUTPUT</name></field><field><id>LINES_REJECTED</id><enabled>Y</enabled><name>LINES_REJECTED</name></field><field><id>ERRORS</id><enabled>Y</enabled><name>ERRORS</name></field><field><id>INPUT_BUFFER_ROWS</id><enabled>Y</enabled><name>INPUT_BUFFER_ROWS</name></field><field><id>OUTPUT_BUFFER_ROWS</id><enabled>Y</enabled><name>OUTPUT_BUFFER_ROWS</name></field></perf-log-table> 
<channel-log-table><connection/> 
<schema/> 
<table/> 
<timeout_days/> 
<field><id>ID_BATCH</id><enabled>Y</enabled><name>ID_BATCH</name></field><field><id>CHANNEL_ID</id><enabled>Y</enabled><name>CHANNEL_ID</name></field><field><id>LOG_DATE</id><enabled>Y</enabled><name>LOG_DATE</name></field><field><id>LOGGING_OBJECT_TYPE</id><enabled>Y</enabled><name>LOGGING_OBJECT_TYPE</name></field><field><id>OBJECT_NAME</id><enabled>Y</enabled><name>OBJECT_NAME</name></field><field><id>OBJECT_COPY</id><enabled>Y</enabled><name>OBJECT_COPY</name></field><field><id>REPOSITORY_DIRECTORY</id><enabled>Y</enabled><name>REPOSITORY_DIRECTORY</name></field><field><id>FILENAME</id><enabled>Y</enabled><name>FILENAME</name></field><field><id>OBJECT_ID</id><enabled>Y</enabled><name>OBJECT_ID</name></field><field><id>OBJECT_REVISION</id><enabled>Y</enabled><name>OBJECT_REVISION</name></field><field><id>PARENT_CHANNEL_ID</id><enabled>Y</enabled><name>PARENT_CHANNEL_ID</name></field><field><id>ROOT_CHANNEL_ID</id><enabled>Y</enabled><name>ROOT_CHANNEL_ID</name></field></channel-log-table> 
<step-log-table><connection/> 
<schema/> 
<table/> 
<timeout_days/> 
<field><id>ID_BATCH</id><enabled>Y</enabled><name>ID_BATCH</name></field><field><id>CHANNEL_ID</id><enabled>Y</enabled><name>CHANNEL_ID</name></field><field><id>LOG_DATE</id><enabled>Y</enabled><name>LOG_DATE</name></field><field><id>TRANSNAME</id><enabled>Y</enabled><name>TRANSNAME</name></field><field><id>STEPNAME</id><enabled>Y</enabled><name>STEPNAME</name></field><field><id>STEP_COPY</id><enabled>Y</enabled><name>STEP_COPY</name></field><field><id>LINES_READ</id><enabled>Y</enabled><name>LINES_READ</name></field><field><id>LINES_WRITTEN</id><enabled>Y</enabled><name>LINES_WRITTEN</name></field><field><id>LINES_UPDATED</id><enabled>Y</enabled><name>LINES_UPDATED</name></field><field><id>LINES_INPUT</id><enabled>Y</enabled><name>LINES_INPUT</name></field><field><id>LINES_OUTPUT</id><enabled>Y</enabled><name>LINES_OUTPUT</name></field><field><id>LINES_REJECTED</id><enabled>Y</enabled><name>LINES_REJECTED</name></field><field><id>ERRORS</id><enabled>Y</enabled><name>ERRORS</name></field><field><id>LOG_FIELD</id><enabled>N</enabled><name>LOG_FIELD</name></field></step-log-table> 
<metrics-log-table><connection/> 
<schema/> 
<table/> 
<timeout_days/> 
<field><id>ID_BATCH</id><enabled>Y</enabled><name>ID_BATCH</name></field><field><id>CHANNEL_ID</id><enabled>Y</enabled><name>CHANNEL_ID</name></field><field><id>LOG_DATE</id><enabled>Y</enabled><name>LOG_DATE</name></field><field><id>METRICS_DATE</id><enabled>Y</enabled><name>METRICS_DATE</name></field><field><id>METRICS_CODE</id><enabled>Y</enabled><name>METRICS_CODE</name></field><field><id>METRICS_DESCRIPTION</id><enabled>Y</enabled><name>METRICS_DESCRIPTION</name></field><field><id>METRICS_SUBJECT</id><enabled>Y</enabled><name>METRICS_SUBJECT</name></field><field><id>METRICS_TYPE</id><enabled>Y</enabled><name>METRICS_TYPE</name></field><field><id>METRICS_VALUE</id><enabled>Y</enabled><name>METRICS_VALUE</name></field></metrics-log-table> 
    </log> 
    <maxdate> 
     <connection/> 
     <table/> 
     <field/> 
     <offset>0.0</offset> 
     <maxdiff>0.0</maxdiff> 
    </maxdate> 
    <size_rowset>10000</size_rowset> 
    <sleep_time_empty>50</sleep_time_empty> 
    <sleep_time_full>50</sleep_time_full> 
    <unique_connections>N</unique_connections> 
    <feedback_shown>Y</feedback_shown> 
    <feedback_size>50000</feedback_size> 
    <using_thread_priorities>Y</using_thread_priorities> 
    <shared_objects_file/> 
    <capture_step_performance>N</capture_step_performance> 
    <step_performance_capturing_delay>1000</step_performance_capturing_delay> 
    <step_performance_capturing_size_limit>100</step_performance_capturing_size_limit> 
    <dependencies> 
    </dependencies> 
    <partitionschemas> 
    </partitionschemas> 
    <slaveservers> 
    </slaveservers> 
    <clusterschemas> 
    </clusterschemas> 
    <created_user>-</created_user> 
    <created_date>2016&#x2f;08&#x2f;08 12&#x3a;00&#x3a;56.365</created_date> 
    <modified_user>-</modified_user> 
    <modified_date>2016&#x2f;08&#x2f;08 12&#x3a;00&#x3a;56.365</modified_date> 
    <key_for_session_key/> 
    <is_key_private>N</is_key_private> 
    </info> 
    <notepads> 
    </notepads> 
    <order> 
    <hop> <from>Data Grid</from><to>Regex Evaluation</to><enabled>Y</enabled> </hop> 
    <hop> <from>Regex Evaluation</from><to>Dummy &#x28;do nothing&#x29;</to><enabled>Y</enabled> </hop> 
    </order> 
    <step> 
    <name>Data Grid</name> 
    <type>DataGrid</type> 
    <description/> 
    <distribute>Y</distribute> 
    <custom_distribution/> 
    <copies>1</copies> 
     <partitioning> 
      <method>none</method> 
      <schema_name/> 
      </partitioning> 
    <fields> 
     <field> 
     <name>test_string</name> 
     <type/> 
     <format/> 
     <currency/> 
     <decimal/> 
     <group/> 
     <length>-1</length> 
     <precision>-1</precision> 
     <set_empty_string>N</set_empty_string> 
     </field> 
    </fields> 
    <data> 
     <line> <item>M- L&#x27;Eau Par Kenzo 1.7 Spy Edt</item> </line> 
     <line> <item>abc123 56&#x25; &#x23; - testTESTtest &#x25; a &#x5e;1 h &#x3d;&#x29;</item> </line> 
     <line> <item/> </line> 
    </data> 
    <cluster_schema/> 
<remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> 
     <xloc>128</xloc> 
     <yloc>32</yloc> 
     <draw>Y</draw> 
     </GUI> 
    </step> 

    <step> 
    <name>Regex Evaluation</name> 
    <type>RegexEval</type> 
    <description/> 
    <distribute>Y</distribute> 
    <custom_distribution/> 
    <copies>1</copies> 
     <partitioning> 
      <method>none</method> 
      <schema_name/> 
      </partitioning> 
    <script><![CDATA[(.*)[\-](.*)]]></script> <matcher>test_string</matcher> 
    <resultfieldname>REGEX_evaluation</resultfieldname> 
    <usevar>N</usevar> 
    <allowcapturegroups>Y</allowcapturegroups> 
    <replacefields>Y</replacefields> 
    <canoneq>N</canoneq> 
    <caseinsensitive>N</caseinsensitive> 
    <comment>N</comment> 
    <dotall>N</dotall> 
    <multiline>N</multiline> 
    <unicode>N</unicode> 
    <unix>N</unix> 
    <fields> 
     <field> 
     <name>first_block_before_the_dash</name> 
     <type>String</type> 
     <format/> 
     <group/> 
     <decimal/> 
     <length>-1</length> 
     <precision>-1</precision> 
     <nullif/> 
     <ifnull/> 
     <trimtype>none</trimtype> 
     </field> 
     <field> 
     <name>last_block_after_the_dash</name> 
     <type>String</type> 
     <format/> 
     <group/> 
     <decimal/> 
     <length>-1</length> 
     <precision>-1</precision> 
     <nullif/> 
     <ifnull/> 
     <trimtype>none</trimtype> 
     </field> 
    </fields> 
    <cluster_schema/> 
<remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> 
     <xloc>256</xloc> 
     <yloc>32</yloc> 
     <draw>Y</draw> 
     </GUI> 
    </step> 

    <step> 
    <name>Dummy &#x28;do nothing&#x29;</name> 
    <type>Dummy</type> 
    <description/> 
    <distribute>Y</distribute> 
    <custom_distribution/> 
    <copies>1</copies> 
     <partitioning> 
      <method>none</method> 
      <schema_name/> 
      </partitioning> 
    <cluster_schema/> 
<remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> 
     <xloc>400</xloc> 
     <yloc>32</yloc> 
     <draw>Y</draw> 
     </GUI> 
    </step> 

    <step_error_handling> 
    </step_error_handling> 
    <slave-step-copy-partition-distribution> 
</slave-step-copy-partition-distribution> 
    <slave_transformation>N</slave_transformation> 

</transformation> 
관련 문제