0

我在 C# 中有一个用于操作字符串的函数,当我在 C# 中使用时它运行良好。现在我想将此函数转换为在 JavaScript 中使用。这是 C# 中的函数:

 public static string TrimString(string str, int lenght)
 {
        string _str = str;

        int _iAdditionalLenght = 0;

        for (int i = lenght; i < str.Length; i++)
        {
            if (_str.Substring(i, 1) == " ")
                break;

            _iAdditionalLenght++;
        }

        return str.Substring(0, str.Length < (lenght + _iAdditionalLenght) ? str.Length : (lenght + _iAdditionalLenght));

 }

我将其转换为 javascript :

function TrimString(str, lengthStr) { //this is my testing 4
     var _str = str;
     var _iAdditionalLenght = 0;
     for (var i = lengthStr; i < str.length; i++) {
       if (_str.substring(i, 1) == " ")
           break;
       _iAdditionalLenght++;
     }

     return str.substring(0, str.length < (lengthStr + _iAdditionalLenght) ? str.length : (lengthStr + _iAdditionalLenght));
 }

但是javascript不起作用。

谁能告诉我,我怎么能在 JavaScript 函数中做到这一点?

4

2 回答 2

1

C# 和 javascript 之间的子字符串不同

例如,strInput = "0123456789"

在 C# ==> Substring(int startIndex, int length)

     strInput.SubString(2,3) == will output ==> "234"

在 Javascript ==> substring(int startIndex, int endIndex)

     strInput.substring(2,3) == will output ==> "2"

插入尝试使用

     strInput.substr(2,3) == will output ==> "234"

笔记 :

在 javscript 中

     substring(Start character position, End Character position) 

     substr(Start character position, length of Character) 
于 2012-10-01T03:59:12.457 回答
0

您需要研究substringJavaScript 和 C# 中工作方式的差异。在 C# 中,它是应该提取的字符数,在 JS 中,它是停止提取的索引。

于 2012-10-01T03:35:41.293 回答