美好的一天。因此,我想问您如何更改从JEditorPane获得的字符串中的子字符串。

我根据以下代码制作和弦更改程序:C到C#,C#到D,D#到E,E到F,F到F#,F#到G,G到G#,...

我写了代码,但是从乞讨到最后一直都是这样。例如,如果我用JEditorPane编写:

“ C D#E”全部转到F#。我如何只进行1步更改(仅C到C#,D#到E,E到F)?

if (event.getSource()== ok)
{
    Object contents = akordib.getSelectedItem();
    if (contents == "+1 step")
    {
        finalStr = textPanel.getText();
        if (finalStr.contains(" C ") == true)
        {
            finalStr = finalStr.replaceAll(" C" , " C#");
            textPanel.setText(finalStr);
        }

        if (finalStr.contains(" C# ") == true)
        {
            finalStr = finalStr.replaceAll(" C# ", " D ");
            textPanel.setText(finalStr);
        }
    }
}


这是一个例子:
原版的:


  C D#E


之后的代码应该是:


  C#E F

最佳答案

反过来写。之所以发生这种情况,是因为在测试C#时已经将C设置为C#。

关于java - 字符串替换,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26676816/

10-08 23:29