我正在尝试重新创建不和谐的表情符号解析消息的方式。
例如,我希望消息Hello, :smile::hearth: world!拆分为以下数组:
["Hello, ", ":smile:", ":hearth:", " world!"]
Run Code Online (Sandbox Code Playgroud)
我已经尝试使用以下代码拆分数组:
Arrays.toString(message.split("(:[A-Za-z]+:)"))
Run Code Online (Sandbox Code Playgroud)
但是,split方法会删除找到的定界符。因此最终结果如下所示:
["Hello", , , " world!"]
Run Code Online (Sandbox Code Playgroud) 抱歉,又是一个正则表达式问题!我有一个未知长度的字符串,其中包含以下模式:
"abc1defg2hijk23lmn19"
Run Code Online (Sandbox Code Playgroud)
我需要拆分字符串以获得以下内容:
["abc1", "DefG2", "hiJk23", "lmn19"]
Run Code Online (Sandbox Code Playgroud)
它非常简单,我只需要每次在数字后拆分。该数字可以是任何非零数字。
我可以像这样进行正面查找:
a.split("(?=\\d+)");
Run Code Online (Sandbox Code Playgroud)
但是,这实际上是拆分数字而不是前面的字母组和数字。
我目前的尝试看起来像这样,但不起作用:
a.split("(?=[A-Za-z]+\\d+)");
Run Code Online (Sandbox Code Playgroud) 我从文本文件中获得了这一和弦.例如,
String chordLine = "C G Am C";
String transposedChordLine;
Run Code Online (Sandbox Code Playgroud)
接下来,我需要使用两个参数,即转置的和弦和整数增量,使用下面的类将其chordLine转换为新transposedChordLine的String.例如,transpose("C", 2)将返回D.
public class Transposer{
private int inc;
private static ArrayList<String> keysSharp;
private static ArrayList<String> keysFlat;
Transposer(){
keysSharp = new ArrayList<String>(Arrays.asList("C", "C#", "D", "D#","E", "F","F#", "G","G#", "A","A#", "B"));
keysFlat = new ArrayList<String>(Arrays.asList("C", "Db", "D", "Eb","E", "F","Gb", "G","Ab", "A","Bb", "B"));
}
public String transpose(String chord,int inc){
this.inc = inc;
String newChord;
if(chord.contains("/")){
String[] split = chord.split("/");
newChord = transposeKey(split[0]) + "/" …Run Code Online (Sandbox Code Playgroud) 第一次使用Regex语句。
我有java regex语句,该语句按模式将String拆分为一些字符列表。
String line = "F01T8B02S00003H04Z05C0.12500";
Pattern pattern = Pattern.compile("([BCFHSTZ])");
String[] commands = pattern.split(line);
for (String command : commands) {
System.out.print(command);
}
Run Code Online (Sandbox Code Playgroud)
上面代码的输出就像(018020000304050.12500)
其实我想要这样的输出,(“ F”,“ 01”,“ T”,“ 8”,“ B”,“ 02”,“ S”,“ 00003”,“ H”,“ 04”,“ Z “,” 05“,” C“,” 0.12500“)。
表示所需的输出同时包含模式字符和拆分值。
你能建议我吗?
我正在尝试拆分数学表达式.
String number = "100+500";
String[] split = new String[3];
Run Code Online (Sandbox Code Playgroud)
我要实现
我尝试了这个,但我不知道该怎么写分裂.
split = number.split(????);
Run Code Online (Sandbox Code Playgroud) 我有String s = "#stack###over##flow".怎么分裂s才有
String[] a = {"#", "stack", "###", "over", "##", "flow}
Run Code Online (Sandbox Code Playgroud)
我试图s.split("(?<=#)|(?=#)")在如何分割字符串,但也保持分隔符?但它给了
String[] a = {"#", "stack", "#", "#", "#", "over", "#", "#", "flow}
Run Code Online (Sandbox Code Playgroud) 我用来分割任意数量的空格的字符串的代码是
String out="SELECT * FROM EMP WHERE EMPID=10";
String array[] = out.split("\\s+");
Run Code Online (Sandbox Code Playgroud)
我希望将"out"字符串中的空格包含到array []对象中,同时使用空格分割.我想要的输出是:
array[]={"SELECT","[WHITE SPACE]","*","[WHITE SPACE]","FROM","[WHITE SPACE]","EMP","[WHITE SPACE]","WHERE","[WHITE SPACE]","EMPID=10"}
Run Code Online (Sandbox Code Playgroud)
但我得到的输出是:
array[]={"SELECT","*","FROM","EMP","WHERE","EMPID=10"}
Run Code Online (Sandbox Code Playgroud)
任何帮助将不胜感激
我有一个看起来像这样的字符串
The#red#studio#502#4
Run Code Online (Sandbox Code Playgroud)
我需要将它分成数组中的3个不同的字符串
s[0] = "The red studio"
s[1] = "502"
s[2] = "4"
Run Code Online (Sandbox Code Playgroud)
问题是第一个应该只有单词而第二个和第三个应该只有数字......
我试图玩这个s.split()方法,但没有运气.
例如: strEquation="36+5-8X2/2.5"
我的代码是:
String[] tmp = strEquation.split("[X\\+\\-\\/]+");
for(int i=0; i<tmp.length; i++)
Log.d("Split array",tmp[i]);
Run Code Online (Sandbox Code Playgroud)
和我的输出,我认为它将是:
36
5
8
2
2.5
Run Code Online (Sandbox Code Playgroud)
我希望tmp字符串数组也会放入我正在拆分的字符,如下所示:
tmp[0] = 36
tmp[1] = +
tmp[2] = 5
tmp[3] = -
tmp[4] = 8
tmp[5] = X
tmp[6] = 2
tmp[7] = /
tmp[8] = 2.5
Run Code Online (Sandbox Code Playgroud)
知道怎么做吗?