【问题标题】:How to shorten string to specific length according to textBox1.Length c#如何根据textBox1.Length c#将字符串缩短到特定长度
【发布时间】:2015-04-02 10:42:42
【问题描述】:

我需要知道如何将字符串缩短到一定长度,我尝试了string.Trim(),但它不起作用。对不起,我还是个初学者。

谢谢

编辑

我正在尝试从解密的文本中删除填充。 例如:用户输入文本,用户对文本进行加密和解密。在解密后的文本上还有填充...

编辑 2

我正在使用PaddingMode.PKCS7

【问题讨论】:

  • 很多string 方法可能会对您有所帮助。你能先显示你的字符串和你想要的结果字符串吗?
  • @DilanV 也许问题在于加密/解密而不是填充:)
  • @DilanV 将您的代码与stackoverflow.com/a/4925859/613130进行比较
  • @DilanV 也许您仅在加密器上设置 PaddingMode 仅在解密时,或者您有不同的 PaddingMode。 PaddingMode(如果存在)在加密和解密时必须相同。
  • @DilanV 不,你应该发布你的代码。

标签: c# string winforms string-length


【解决方案1】:

一般来说,问题可能出在加密/解密上。您正在使用PaddingMode.Zeros 加密/解密,使用\0 填充...现在,您可以

string decrypted = ...
decrypted = decrypted.TrimEnd('\0');

但至少部分错误。

同时更改加密和解密添加:

algo.Padding = PaddingMode.ISO10126

(其中algo 是您用来加密/解密的对象,例如RijndaelManaged

【讨论】:

    【解决方案2】:

    你可以使用Substring()字符串类的方法

    textBox1.Text.Substring(0, 7);
    

    【讨论】:

      【解决方案3】:

      字符串是不可变的,这意味着您不能修改它们。您必须将字符串方法的返回值重新分配给字符串变量。你可以使用String.Substring:

      int length = textBox1.Text.Length;
      longString = longString.Substring(0, Math.Min(length, longString.Length));
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-12-26
        • 1970-01-01
        • 2020-06-15
        • 1970-01-01
        相关资源
        最近更新 更多