我在split命令之后将字符串"MO""RET"存储在items[1]数组中.在它存储之后,我在这个字符串上做一个替换,它取代了所有的双引号.但我希望它存储为MO"RET.我该怎么做.在我使用split命令处理的csv文件中重复文本字段内容中的双引号(例如:此帐户是""large""一个").所以我想保留字符串中间的两个引号之一,如果它如果存在则重复并忽略最终引号.我该怎么做?
String items[] = line.split(",(?=([^\"]*\"[^\"]*\")*[^\"]*$)");
items[1] has "MO""RET"
String recordType = items[1].replaceAll("\"","");
Run Code Online (Sandbox Code Playgroud)
在这个recordType之后MORET 我希望它有MO"RET
如何使用groovy删除多行注释?
/* Use groovy replaceAll regex to
remove this comment */
Run Code Online (Sandbox Code Playgroud)
我从文件,文件对象中读入上述文本,然后将其转换为字符串.如果评论跨越一行,我可以使用下面发布的replaceAll方法将其删除:
def file = new File('myfile')
def fileString = file.getText()
println fileString.replaceAll('/\\* .* \\*/','')
Run Code Online (Sandbox Code Playgroud)
我曾尝试使用(?m)标志,但我无法识别我的模式.我尝试了以下语句,但都无法匹配我的模式.
fileString.replaceAll('(?m)/\\* (.*) \\*/' ,'') #multiline switch
fileString.replaceAll('(/\\*)(.|\n\r)*(\\*/)' ,'') #match all .* (include \n\r)
Run Code Online (Sandbox Code Playgroud)
我想过使用DotAll,最后是(\ s)和$ {}.但是,我不确定如何有效地将它混合到正则表达式中.任何帮助都会受到欢迎.谢谢.
我有一个字符串列表,其中大部分是多个单词:
"how are you"
"what time is it"
Run Code Online (Sandbox Code Playgroud)
我想从此列表中的每个字符串中删除空格:
"howareyou"
"whattimeisit"
Run Code Online (Sandbox Code Playgroud)
我知道Collections.replaceAll(list, to replace, replace with),但这仅适用于具有该确切值的字符串,而不是每个字符串中的每个实例。
我想在这样的规则上格式化输入的字符串:替换除字符串中第一个位置之外的所有非数字符号:它应该只是数字或符号'+'.
我使用正则表达式功能
private static final String REGEXP_NOT_DIGITS = "[^\\+0-9]";
String result = sample.replaceAll(REGEXP_NOT_DIGITS, "");
Run Code Online (Sandbox Code Playgroud)
但是这个替换的结果是带有数字的字符串和任何位置的"+"符号.请帮助我澄清我的条件,我将替换所有'+'符号,除了行中只有1个位置.
编辑.现在的输出是:
sample [0] sample = 0123456789; 结果= 0123456789预计:0123456789
样品[1]样品= + 380 + 380 + 380 +; 结果= + 380 + 380 + 380 +预期:+380380380
样本[2]样本= dd0 11 22 33 44 55; 结果= 01122334455预计:01122334455
sample [3] sample = + 380-456(789); 结果= +380456789预期:+380456789
样本[4]样本= d3 + 580 456 789; 结果= 3 + 580456789预计:3580456789
sample [5] sample = +380456789; 结果= +380456789预期:+380456789
一切都好,除了在字符串中有符号'+'
我有一个很长的文本,我试着在每3个句子后打破它.
例
资源:
"Sentence 1. Sentence 2? Sentence 3! Sentence 4. Sentence 5. Sentence 6. Sentence 7. Sentence 8. Sentence 9. Sentence 10."
应该返回:
"Sentence 1. Sentence 2? Sentence 3!
Sentence 4. Sentence 5. Sentence 6.
Sentence 7. Sentence 8. Sentence 9.
Sentence 10."
目前我的正则表达式(?<=[\.?!])\s匹配句子之间的所有空格.所以我可以使用它来拆分String然后迭代以添加换行符:
String[] splits = src.split(regex);
StringBuilder b = new StringBuilder();
int index = 0;
for (String s : splits) {
if (index == 3) {
b.append("\n");
index = 0;
} else if (index > …Run Code Online (Sandbox Code Playgroud) 如何用双反斜线 '\' 替换字符串中的单反斜线 '\' ?
我试过这个,但它不起作用。
main(){
String string = "back\slash back\slash back\slash back\slash";
String replaced = string.replaceAll(RegExp(r'\\'), '\\\\');
print(replaced);
}
Run Code Online (Sandbox Code Playgroud) 这可能会在这里被问过几次......我想在字符串的每四个字符之间添加空格(8888319024981442)。我的字符串长度正好是 16。 String.format没有帮助
避免使用 split 或在内存中创建多个字符串。
有没有可以快速使用的 kotlin 函数/String.format。
boolean b1 = false;
boolean b2 = true;
String s = new String(b1+""+b2);
s.replaceAll("false", "f");
s.replaceAll("true", "t");
Run Code Online (Sandbox Code Playgroud)
什么都没有被取代.我仍然得到"虚假的真实".我想将String的所有"false"和"true"替换为"f"和"t".
我很确定我没有以正确的方式做到这一点,这就是为什么我需要你的帮助,我将不胜感激.
我得到的输出x是打印的值,剩下两个println打印空白行.
1.234.567,89
Process finished with exit code 0
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?
public class Dummy {
public static void main(String args[]) {
String x = "1.234.567,89 EUR";
String e = " EUR";
x = x.replaceAll(" EUR","");
System.out.println(x);
x = x.replaceAll(".", "");
System.out.println(x);
x = x.replaceAll(",",".");
System.out.println(x);
//System.out.println(x.replaceAll(" EUR","").replaceAll(".","").replaceAll(",","."));
}
}
Run Code Online (Sandbox Code Playgroud) 我正在使用java格式化大量的纯文本文件,我需要删除除撇号之外的所有标点符号.当我最初为replaceAll声明设置正则表达式时,它努力摆脱我所知道的一切,除了现在我发现一个特定的文件/标点符号设置它不能正常工作.
holdMe = holdMe.replaceAll("[,_\"-.!?:;)(}{]", " ");
Run Code Online (Sandbox Code Playgroud)
我知道我正在发表这个声明,因为所有其他标点符号都清除了,没有句号,逗号等等.我已经尝试转义()和{}字符,但它仍然没有被替换为这些字符.我一直在尝试使用Oracle文档教自己正则表达式,但我似乎无法理解为什么这不起作用.