在第二个字符后添加“ /”符号

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在第二个字符后添加“ /”符号相关的知识,希望对你有一定的参考价值。

我有Xamarin TextInput。这是一种“ mm / yy”格式。我需要在第二个符号后插入/

我有这种方法可以在2个字符后添加/

private static string AppendAtPosition(string baseString, int position, string character)

    var sb = new StringBuilder(baseString);
    for (int i = position; i < sb.Length; i += (position + character.Length))
        sb.Insert(i, character);
    return sb.ToString();

而且我这样称呼它

ExpiresInput.EditingChanged += (object sender, EventArgs e) =>

    var creditcardyear = ExpiresInput.Text;

    if (creditcardyear.Length <= 2) return;
    if (creditcardyear.Length > 2)
    
        ExpiresInput.Text = AppendAtPosition(creditcardyear, 2, "/");
    
    if (creditcardyear.Length == 5) 
        return;
    

但是例如,当我想插入22/12时,有这个。

enter image description here

我该如何解决?

答案
ExpiresInput.EditingChanged += (object sender, EventArgs e) =>

    var currentText = ExpiresInput.Text;
    if (currentText.Length == 1)
        return;

    int strLength = currentText.Length;
    if (Char.IsDigit(currentText, strLength -1) && Char.IsDigit(currentText, strLength - 2))
      currentText = $"currentText/";

此代码在每两位数字后添加“ /”。确定没有在文本框中键入任何其他字符后,需要删除最后的“ /”。

以上是关于在第二个字符后添加“ /”符号的主要内容,如果未能解决你的问题,请参考以下文章

python中difflib内置模块之文本对比

如何在第 n 次出现管道“|”后获取字符或字符串ORACLE 中使用 REGULAR_EXPRESSION 的符号?

循环使用特定符号的 JSON 文件

无法解析符号“注释”[重复]

PLS-00103:遇到符号“END”

C#截取URL问题