Skip to content

TrimStr 无法清空长度大于 1 的全裁剪字符字符串 #1

Description

@yingying9025123-code
   ## 问题描述

   `OHOS::TrimStr` 无法正确处理长度大于 1、且完全由 `cTrim` 字符组成的字符串。

   例如:

   ```cpp
   OHOS::TrimStr("tt", 't')

预期返回空字符串 "",实际返回原字符串 "tt"。

默认裁剪空格的场景也存在相同问题:

  OHOS::TrimStr("  ")

预期返回空字符串,但实际返回两个空格。

版本信息

  • Repository: OpenHarmony/commonlibrary_c_utils
  • Branch: master
  • File: base/src/string_ex.cpp
  • Function: OHOS::TrimStr

最小复现

可以在 base/test/unittest/common/utils_string_test.cpp 中添加以下测试:

  HWTEST_F(UtilsStringTest, test_strtrim_all_trim_chars, TestSize.Level0)
  {
      EXPECT_EQ(TrimStr("tt", 't'), "");
      EXPECT_EQ(TrimStr("  "), "");
  }

实际结果

  TrimStr("tt", 't') == "tt"
  TrimStr("  ") == "  "

预期结果

  TrimStr("tt", 't') == ""
  TrimStr("  ") == ""

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions