如何从字符串中获取非字母分隔符字符
How to get non-alphabetical separator char from string
我有一种情况,我想从给定的字符串中获取分隔符,如下所示:-
String str1 = "saurabh|om|anurag|abhishek|jitendra"
String str2 = "amit,ankur,sumit,aniket,suheel"
String str3 = "aj-kumar-manav-lalit-gaurav"
-------
在上面的字符串中,我想将分隔符字符作为 :-
String separatorStr1 = "|"
String separatorStr2 = ","
String separatorStr3 = "-"
注意 :- 分隔符在字符串中总是非字母顺序
有什么办法可以实现吗
为什么 str3
的分隔符是 -
?也可以是a
。
假设分隔符必须是非字母字符 循环遍历字符并查找第一个非字母字符。
在以后的问题中尽量避免其他用户猜测您的意思 - 尝试定义主题的主题。
根据xenteros的建议,我已经通过以下方式实现了这一点:-
String str1 = "saurabh|om|anurag|abhishek|jitendra"
String str2 = "amit,ankur,sumit,aniket,suheel"
String str3 = "aj-kumar-manav-lalit-gaurav"
String separatorStr1 = str1.toCharArray().find { !Character.isLetterOrDigit(it) }
String separatorStr2 = str2.toCharArray().find { !Character.isLetterOrDigit(it) }
String separatorStr3 = str3.toCharArray().find { !Character.isLetterOrDigit(it) }
assert separatorStr1 == '|'
assert separatorStr2 == ','
assert separatorStr3 == '-'
使用 groovy
regexp
和 find
([^\w] 是任何非字母数字字符)
def getSeparator = { str ->
str.find(~/[^\w]/)
}
String str1 = "saurabh|om|anurag|abhishek|jitendra"
String str2 = "amit,ankur,sumit,aniket,suheel"
String str3 = "aj-kumar-manav-lalit-gaurav"
assert getSeparator(str1) == '|'
assert getSeparator(str2) == ','
assert getSeparator(str3) == '-'
我有一种情况,我想从给定的字符串中获取分隔符,如下所示:-
String str1 = "saurabh|om|anurag|abhishek|jitendra"
String str2 = "amit,ankur,sumit,aniket,suheel"
String str3 = "aj-kumar-manav-lalit-gaurav"
-------
在上面的字符串中,我想将分隔符字符作为 :-
String separatorStr1 = "|"
String separatorStr2 = ","
String separatorStr3 = "-"
注意 :- 分隔符在字符串中总是非字母顺序
有什么办法可以实现吗
为什么 str3
的分隔符是 -
?也可以是a
。
假设分隔符必须是非字母字符 循环遍历字符并查找第一个非字母字符。
在以后的问题中尽量避免其他用户猜测您的意思 - 尝试定义主题的主题。
根据xenteros的建议,我已经通过以下方式实现了这一点:-
String str1 = "saurabh|om|anurag|abhishek|jitendra"
String str2 = "amit,ankur,sumit,aniket,suheel"
String str3 = "aj-kumar-manav-lalit-gaurav"
String separatorStr1 = str1.toCharArray().find { !Character.isLetterOrDigit(it) }
String separatorStr2 = str2.toCharArray().find { !Character.isLetterOrDigit(it) }
String separatorStr3 = str3.toCharArray().find { !Character.isLetterOrDigit(it) }
assert separatorStr1 == '|'
assert separatorStr2 == ','
assert separatorStr3 == '-'
使用 groovy
regexp
和 find
([^\w] 是任何非字母数字字符)
def getSeparator = { str ->
str.find(~/[^\w]/)
}
String str1 = "saurabh|om|anurag|abhishek|jitendra"
String str2 = "amit,ankur,sumit,aniket,suheel"
String str3 = "aj-kumar-manav-lalit-gaurav"
assert getSeparator(str1) == '|'
assert getSeparator(str2) == ','
assert getSeparator(str3) == '-'