假设我有以下代码:
String s = "{U1,U2,U3},{U5,U7},{U4,U6,U8}";
我怎样才能让这个看起来像它低于?
String s1 = {U1,U2,U3};
String s2 = {U5,U7};
String s3 = {U4,U6,U8};
在组合s
可以是任何形式的。 S1,S2,S3是不同的字符串。
假设我有以下代码:
String s = "{U1,U2,U3},{U5,U7},{U4,U6,U8}";
我怎样才能让这个看起来像它低于?
String s1 = {U1,U2,U3};
String s2 = {U5,U7};
String s3 = {U4,U6,U8};
在组合s
可以是任何形式的。 S1,S2,S3是不同的字符串。
您可以使用以下方法:
"},{"
见例如 :
public static void parse(String[] args) throws java.lang.Exception
{
String myString = "{U1,U2,U3},{U5,U7},{U4,U6,U8}";
int begin = 0;
int end = 0;
String s1;
while (end != -1){
end = myString.indexOf("},{", begin);
if ((end < myString.length()) && ((begin < end)))
s1 = myString.substring(begin, end + 1);
else
s1 = myString.substring(begin);
begin = end + 2;
System.out.println(s1);
}
}
这里是我的代码:
public class SplitString {
public static void main(String[] args) {
String s ="{U1,U2,U3},{U5,U7},{U4,U6,U8}";
String[] splitted = s.split("},");
// add the end brace for every entry except the last
for (int i=0 ; i < splitted.length-1 ; i++) {
splitted[i]=splitted[i] + "}";
}
// print out the string array
for (int i=0; i< splitted.length ; i++) {
System.out.println("String s"+i+" = "+splitted[i]);
}
}
}
这种拆分每次遇到两个字符时间},
,把其写入字符串数组“分裂”,然后通过字符串数组循环,并增加了一个}
在每一个除了最后的结束。
输出:
String s0 = {U1,U2,U3}
String s1 = {U5,U7}
String s2 = {U4,U6,U8}
通过使用replace()
函数替换"{"
与" "
和分裂基于","
; 取这些值代入数组和对数组进行排序。 现在,你可以很容易地显示任何你想要的格式。
各执,}
字符的组合。 下面的代码是C#。 我不知道确切的Java等价物。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
string s = "{U1,U2,U3},{U5,U7},{U4,U6,U8}";
string[] splitstring = Regex.Split(s,"},");
// the string obtained are splitstring[0]= {U1,U2,U3 splitstring[1]={U5,U7
// splitstring[2]={U4,U6,U8}
// Note only last string is not missing closing bracket so in a loop we append closing
// bracket to all strings except last string
for (int i = 0; i < splitstring.Length; i++)
if (i == splitstring.Length - 1)
continue;
else
splitstring[i] = splitstring[i] + "}";
foreach (string str in splitstring)
Console.WriteLine("\n" + str);
}
}
}
public static void main(String... args) {
String input = "{U1,U2,U3},{U5,U7},{U4,U6,U8}";
Pattern pattern = Pattern.compile("\\{[^\\}]*\\}");
Matcher matcher = pattern.matcher(input);
while (matcher.find()) {
String s = matcher.group();
System.out.format("%s\n", s);
}
}