将所有特殊字符移动到字符串的末尾
在本文中,我们将学习如何将所有特殊字符移动到字符串的末尾。
例子:
Input : !@$%^&*AJAY
Output :AJAY!@$%^&*
Input :Geeksf!@orgeek@s A#$ c%o^mputer s****cience p#o@rtal fo@r ge%eks
Output :Geeksforgeeks A computer science portal for geeks!@@#$%^****#@@%
先决条件: 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!@@#$%^****#@@%