java 字符串指定位置的字母大小写转换
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java 字符串指定位置的字母大小写转换相关的知识,希望对你有一定的参考价值。
例如把
String Sa="<ABCDEFGHIJK>SDFER<EGD>FG";
转换成
String Sa="<abcdefghijk>SDFER<egd>FG";
import java.io.IOException;
/**
* 将字符串中< >中的字母大小写进行转换
* @author
*
*/
public class EchCase
public static void main(String args[]) throws IOException
String Sa="<ABCDEFGHIJK>SDFER<EGD>FG";
System.out.println("@_1: "+Sa);
ExchangeCase(Sa);
System.out.println("@_2: "+Sa);
//*
public static String ExchangeCase(String s)
boolean aFlg = false;
int intCount = 0;
for (int j = 0; j < s.length(); j++)
char cByte = s.charAt(j);
if (cByte == '<' && intCount == 0)
aFlg = true;
if (cByte == '<')
++intCount;
if (cByte == '>')
--intCount;
if (cByte == '>' && intCount == 0)
aFlg = false;
if (aFlg && intCount > 0) //转成小写
if (cByte >= 'A' && cByte <= 'Z') //大写: cByte >= 'a' && cByte <= 'z'
cByte += 32; //大写: cByte -= 32;
//s = cByte;
continue;
else
//s = cByte;
continue;
// System.out.print(cByte);
return s;
// end ExchangeCase*/
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class $
public static void main(String... _)
String sa = "<ABCDEFGHIJK>SDFER<EGD>FG";
Pattern p = Pattern.compile("<([A-Z]|[a-z])0,>");
Matcher match = p.matcher(sa);
while (match.find())
String str = match.group();
sa = sa.replaceFirst(str, str.toLowerCase());
System.out.println(sa);
参考技术B 大写转小写:
例:system.out.println(变量1.tolowercase(变量2));
小写转大写:
例:system.out.println(变量1.touppercase(变量2)); 参考技术C public static void main(String args[]) throws IOException
String Sa="<ABCDEFGHIJK>SDFER<EGD>FG";
System.out.println("@_1: "+Sa);
Sa = ExchangeCase(Sa);
System.out.println("@_2: "+Sa);
请编写一个程序将ss所指字符串中所有下标为奇数位置上的字母转换为大写(若该位置上不是字母,则不转换)。
'请编写一个程序将ss所指字符串中所有下标为奇数位置上的字母转换为大写(若该位置上不是字母,则不转换)。编写函数如下
Private Function s(ss As String) As String
Dim temp As String
For i = 1 To Len(ss)
temp = Mid(ss, i, 1)
If i Mod 2 = 1 And Asc(temp) >= 97 And Asc(temp) <= 122 Then
s = s + Chr(Asc(temp) - 32)
Else
s = s + temp
End If
Next
End Function
调用方法
Private Sub Command1_Click()
MsgBox s("assds jdf134ASNDFNF")
End Sub
记得给分哦 参考技术A 将ss装入数组
设置一个指针指向ss
用循环读取ss中的每个字符
判断字符是否在a和z之间
如果在则转换为大写(根编程语言定) 参考技术B 我用的是VB6.0
看******处,就知道了
Private Sub Command1_Click()
Dim ss As String
ss = "vlkdfvnfldnvdfnvd"
Print ss
Dim i As Integer, l As Integer
l = Len(ss) '******
For i = 1 To l Step 2 '******
Mid(ss, i, 1) = UCase(Mid(ss, i, 1)) '******
Next i
Print ss
End Sub 参考技术C 就5分??懒得写。你多给点分好吧??
以上是关于java 字符串指定位置的字母大小写转换的主要内容,如果未能解决你的问题,请参考以下文章