C# 读取括号内的字符()

C# 读取括号内的字符(),c#,javascript,C#,Javascript,我写了一个c代码来读取括号内的字符串值“()” 有了这个密码我就明白了 世界工作 我想用JavaScript实现它,所以我尝试了这个 function myFunction() { var s = "Hello (World) This is (Working)"; var i = 0; while ((i = s.indexOf('(', i)) != -1) { var stop = s.

我写了一个c代码来读取括号内的字符串值“()”

有了这个密码我就明白了

世界工作

我想用JavaScript实现它,所以我尝试了这个

function myFunction()
{
var s = "Hello (World) This is (Working)";
            var i = 0;
            while ((i = s.indexOf('(', i)) != -1)
            {
                var stop = s.substring(i+1).indexOf(')');
                var output = s.substring(i+1, stop);
                document.write(output);
                i++;
            }
}
但它有不同的输出

党卫军(


我不擅长javaScript,请帮我找到这个方法的解决方案。对于简单的控制逻辑,我不想使用regex,最好使用转换器


您可以尝试将c代码转换为javascript。它可以免费用于小型或开源项目。

对于简单的控制逻辑,最好使用转换器


您可以尝试将c#代码转换为javascript。它可以免费用于小型或开源项目。

试试这个。它不是最好的代码,但它可以满足您的要求:

var thestring = 'Hello (World) This is (Working)';
var words = thestring.match(/(\([A-Za-z]+\))/g);
words = words.join('-').replace(/[\(\)]/g,'').split('-');
更新
我没有读过“我不想使用正则表达式”这一部分,但也许你应该读。我对正则表达式了解不多,但我会尽我所能,尝试了解更多关于这个……世界的信息。;

试试这个。这不是最好的代码,但它可以满足你的要求:

var thestring = 'Hello (World) This is (Working)';
var words = thestring.match(/(\([A-Za-z]+\))/g);
words = words.join('-').replace(/[\(\)]/g,'').split('-');
更新
我没有读过“我不想使用正则表达式”这一部分,但也许你应该读。我对正则表达式了解不多,但我尽我所能,并试图了解更多关于这个……世界的信息。|

尽管名称相似,但这些方法实际上并没有使用相同的方法(请注意第二个参数):

  • C#--
  • JS--
尝试
substr
而不是JavaScript--:


尽管名称相似,但它们实际上并没有使用等效的方法(请注意第二个参数):

  • C#--
  • JS--
尝试
substr
而不是JavaScript--:


这就是你想要的?

function myFunction() {
    var s = "Hello (World) This is (Working)";
    var i = 0;
    var outputs = [];
    while ((i = s.indexOf('(', i)) != -1) {
        var stop = s.indexOf(')', i);
        outputs.push(s.slice(i + 1, stop));
        i++;
    }
    document.write(outputs.join(' ')); // World Working
}

这就是你想要的吗?

function myFunction() {
    var s = "Hello (World) This is (Working)";
    var i = 0;
    var outputs = [];
    while ((i = s.indexOf('(', i)) != -1) {
        var stop = s.indexOf(')', i);
        outputs.push(s.slice(i + 1, stop));
        i++;
    }
    document.write(outputs.join(' ')); // World Working
}

我发现for循环更具可读性。以下是我的观点

function myFunction() {
    var s = "Hello (World) This is (Working)";
    var output = false;
    for (i = 0; i <= s.length; i++) {
        if (s[i] == ')') {
            if (i != s.length) document.write(' ');
            output = false
        }
        if (output) document.write(s[i]);
        if (s[i] == '(') output = true;
    }
}
函数myFunction(){
var s=“你好(世界)这是(工作)”;
var输出=假;

for(i=0;i我发现for循环更具可读性

function myFunction() {
    var s = "Hello (World) This is (Working)";
    var output = false;
    for (i = 0; i <= s.length; i++) {
        if (s[i] == ')') {
            if (i != s.length) document.write(' ');
            output = false
        }
        if (output) document.write(s[i]);
        if (s[i] == '(') output = true;
    }
}
函数myFunction(){
var s=“你好(世界)这是(工作)”;
var输出=假;

对于(i=0;i为什么你不想使用正则表达式?这是逻辑上的方法…为什么你不想使用正则表达式?这是逻辑上的方法…函数MyMethod(){var s=“Hello(World)This is(Working)”;var i=0;while((i=s.indexOf('(',i))!=-1{var stop=s.substr(i+1).indexOf(');var output=s.substr(i+1,stop);alert(output);i++;}};wow得到了我需要的东西,谢谢您可以更新问题本身中的发现(无论问题是否已解决或仍然存在一些差距)。Comments部分不适用于code.function MyMethod(){var s=“Hello(World)This(Working)”;var i=0;而((i=s.indexOf(“(”,i))!=-1{var-stop=s.substr(i+1).indexOf(“)”;var-output=s.substr(i+1,stop);alert(output);i++;}};wow得到了我需要的东西,谢谢你可以更新你的发现(无论问题是否解决或者仍然存在一些差距)在问题本身中.Comments部分不适用于代码。如果我们使用alert(输出),效果很好;但是当我们使用document.write(输出)时,它只显示世界;无论如何,非常感谢helped@Frank如果我们使用alert(输出),请尝试使用带有.的
console.log
;但当我们使用document.write(输出)时,它只显示World无论如何,真的谢谢你helped@Frank尝试
console.log
使用a。是的,我接受,我将学习regex,并尝试在regex-thanx中解决相同的问题。我接受,我将学习regex,并尝试在regex-thanx中解决相同的问题