📌  相关文章
📜  将所有特殊字符移动到字符串的末尾

📅  最后修改于: 2022-05-13 01:57:06.128000             🧑  作者: Mango

将所有特殊字符移动到字符串的末尾

在本文中,我们将学习如何将所有特殊字符移动到字符串的末尾。
例子:

先决条件: Java中的正则表达式
这个想法是遍历输入字符串并维护两个字符串,一个包含普通字符(a,A,1,''等)的字符串,另一个包含特殊字符(@,$等)的字符串。最后,连接两个字符串并返回。
这是上述方法的实现

C++
// C++ program move all special char to the end of the string
 
#include 
using namespace std;
 
// Function return a string with all special
// chars to the end
string moveAllSC(string str)
{
    // Take length of string
    int len = str.length();
 
    // traverse string
    string res1 = "", res2 = "";
    for (int i = 0; i < len; i++)
    {
        char c = str.at(i);
 
        // check char at index i is a special char
        if (isalnum(c) || c == ' ')
            res1 += c;
        else
            res2 += c;
    }
 
    return res1 + res2;
}
 
// Driver code
int main()
{
    string str1("Geeksf!@orgeek@s A#$ c%o^mputer");
    string str2(" s****cience p#o@rtal fo@r ge%eks");
    string str = str1 + str2;
    cout << moveAllSC(str) << endl;
    return 0;
}
 
// This code is contributed by
// sanjeev2552


Java
// Java program move all special char to the end of the string
class GFG1 {
 
    // Function return a string with all special
    // chars to the end
    static String moveAllSC(String str)
    {
        // Take length of string
        int len = str.length();
 
        // regular expression for check char is special
        // or not.
        String regx = "[a-zA-Z0-9\\s+]";
 
        // traverse string
        String res1 = "", res2 = "";
        for (int i = 0; i < len; i++) {
         
            char c = str.charAt(i);
 
            // check char at index i is a special char
            if (String.valueOf(c).matches(regx))
               res1 = res1 + c;
            else
               res2 = res2 + c;
        }
        return res1 + res2;
    }
 
    public static void main(String args[])
    {
        String str = "Geeksf!@orgeek@s A#$ c%o^mputer"
                     + " s****cience p#o@rtal fo@r ge%eks";
        System.out.println(moveAllSC(str));
    }
}


Python3
# Python3 program move all special char
# to the end of the string
 
# Function return a string with all
# special chars to the end
def moveAllSC(string):
     
    # Take length of string
    length = len(string)
 
    # Traverse string
    res1, res2 = "", ""
    for i in range(0, length):
         
        c = string[i]
 
        # check char at index i is a special char
        if c.isalnum() or c == " ":
            res1 = res1 + c
        else:
            res2 = res2 + c
         
    return res1 + res2
     
# Driver Code
if __name__ == "__main__":
     
    string = "Geeksf!@orgeek@s A#$ c%o^mputer" \
            +" s****cience p#o@rtal fo@r ge%eks"
     
    print(moveAllSC(string))
     
# This code is contributed by Rituraj Jain


C#
// C# program move all special char
// to the end of the string
using System;
using System.Text.RegularExpressions;
 
class GFG
{
 
    // Function return a string with all
    // special chars to the end
    static String moveAllSC(String str)
    {
        // Take length of string
        int len = str.Length;
 
        // regular expression to check
        // char is special or not.
        var regx = new Regex("[a-zA-Z0-9\\s+]");
 
        // traverse string
        String res1 = "", res2 = "";
        for (int i = 0; i < len; i++)
        {
            char c = str[i];
 
            // check char at index i is a special char
            if (regx.IsMatch(c.ToString()))
                res1 = res1 + c;
            else
                res2 = res2 + c;
        }
        return res1 + res2;
    }
 
    public static void Main(String []args)
    {
        String str = "Geeksf!@orgeek@s A#$ c%o^mputer" +
                     " s****cience p#o@rtal fo@r ge%eks";
        Console.WriteLine(moveAllSC(str));
    }
}
 
// This code is contributed by PrinciRaj1992


Javascript


输出:
Geeksforgeeks A computer science portal for geeks!@@#$%^****#@@%