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*/

参考技术A 正则表达式替换
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 字符串指定位置的字母大小写转换的主要内容,如果未能解决你的问题,请参考以下文章

java怎样将大写字母转换成小写字母

C语言截取字符串将大写字母转换为小写字母。

java字符大小写转换

java怎样将大写字母转换成小写字母

java大小写转换

JAVA实现字符串大小写转换问题