检查字符串是否包含孤立的单词

Check if string contains an isolated word

当我在字符串中搜索单词时,我通常会这样做:

CONSTANTS:
      lc_word TYPE string VALUE 'TEST',
      .

IF ls_structure-name CS lc_word.
      "count( ).
ENDIF.

但这次我只希望单词被隔离且区分大小写时为真。
例如:

有人知道怎么做吗?

你可以把你的句子拆分成table,然后检查它是否存在于故事中。像这样:

DATA: lv_string TYPE string VALUE 'One two TEST three',
      lv_var    TYPE string VALUE 'TEST',
      lv_count  TYPE i.


SPLIT lv_string AT space INTO TABLE DATA(lt_string).
IF line_exists( lt_string[ table_line = lv_var ] ).
  lv_count = lv_count + 1.
ENDIF.
WRITE: / lv_count.

您可以使用正则表达式检查:

FIND REGEX '(\s|^)TEST(\s|$)' IN ls_structure-name.

IF sy-subrc EQ 0.
      "count( ).
ENDIF.

它检查以下模式:

  • 空格或字符串的开头
  • 'test'
  • 空格或字符串结尾