- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在阅读包含以下内容的文本文件中的内容
<ID> test data </Id> <Sub_Tab> test data </sub_tab> <form> form data </form>
我的要求是我在 ID 和 Sub_tab 标签中拥有的任何内容我想从这些标签内的内容中删除尾随和前导空格,但 form 标签内的内容应该保持不变。我的输出应该是:
<iD>test data</Id> <Sub_Tab>test data</sub_tab> <form> form data </form>
尝试了很多模式,但都没有用
Regex regex = new Regex(@"/>[ \t]+</");
string newContent = regex.Replace(fileContent, "><");
最佳答案
这种感觉有点矫枉过正。可能是因为太矫枉过正了?
无论如何,您可以使用正则表达式轻松地做到这一点。但是此时,我对正则表达式还不熟悉。
所以,这是我对你的问题的解决方案。它来了。
string input = "<ID> test data </Id> <Sub_Tab> test data </sub_tab> <form> form data </form>";
string find = "ƸƷ";
// ƸƷ - If you have these two characters in your input string, then this won't work.
// These characters (ƸƷ) can be replaced with any unique string. However, this function
// to work, that string should not be contained in the input string
// or it will mess the replace function. This can be done without using
// these characters. But it might require more coding. So, I'm going with this.
string str = input;
IList < string > strList = new List < string > ();
// Remove all content inside the form tags
while (true) {
if ((str.Contains("<form>")) && (str.Contains("</form>"))) {
int start = str.IndexOf("<form>");
int end = str.IndexOf("</form>");
string result = str.Substring(start, end - start + 7); // 7 = "</form>".Length
str = str.Replace(result, find);
strList.Add(result);
} else {
break;
}
}
// Manipulate the data
str = str.Replace(" <", "<").Replace("> ", ">");
// Add the contents inside the form tags
foreach(string val in strList) {
int place = str.IndexOf(find);
str = str.Remove(place, find.Length).Insert(place, val);
}
Console.WriteLine("Input String: " + input);
Console.WriteLine("Output String: " + str);
例子01
<ID> test data </Id> <Sub_Tab> test data </sub_tab> <form> form data </form>
<ID>test data</Id><Sub_Tab>test data</sub_tab><form> form data </form>
例子02
<ID> test data </Id> <Sub_Tab> test data </sub_tab> <form> form data <div> data </div> </form> <br>
<ID>test data</Id><Sub_Tab>test data</sub_tab><form> form data <div> data </div> </form><br>
例子03
<ID> test data </Id> <form> <span> date </span> </form> <Sub_Tab> test data </sub_tab> <form> form data </form>
<ID>test data</Id><form> <span> date </span> </form><Sub_Tab>test data</sub_tab><form> form data </form>
关于c# - 删除前导尾随空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57412932/
考虑 this link来自 Bit Twiddling Hacks 网站。为了计算尾随位,使用了以下算法: unsigned int v; // 32-bit word input to
我正在开发一个在输出目录中创建多个文件的 makefile。为了创建这些文件,输出目录需要已经存在,否则文件创建失败。 这是一个演示我遇到的问题的最小示例: .PHONY: default defau
我试图让 TextField 的值以尾随对齐方式显示。 如您所见,值 34.3 以前导对齐方式显示。 我确信我遗漏了一些明显的东西,但我不知道是什么。有什么想法吗? @State private va
我想让我的 StackView 在屏幕上居中,并在每边(左和右)添加一个 20 的填充以获得屏幕边距: 但不考虑左边距: 结果如下: 如何处理右边距?对于其他类型的对象(不是 StackView),我
我们在我们的网站上使用漂亮的网址。几年前我有一个外部技术人员添加反向链接。他做得很好,但在一个案例中,他总是添加一个尾随空格字符的链接。 https://www.example.com/item/it
我正在设计一个带前缀的可变长度整数。 Rust 具有计算前导和尾随 1 和 0 的方法:https://doc.rust-lang.org/std/primitive.u64.html#method.
Passing a lambda to the last parameter In Kotlin, there is a convention that if the last parameter o
我需要正则表达式的帮助来从字符串中去除不需要的字符(在 Java 中)。我用 4 个正则表达式解决了这个问题。替换将被多次调用 [peeks: 50+ times/sec] 它并降低性能。但我认为它肯
如果我用 base64 编码一个由七个字符组成的字符串,例如abcdefg 与网站 https://www.base64encode.org/结果是 YWJjZGVmZw==。尾部的“==”字符被填充
尝试在客户端上使用 sprintf 打印出包含缓冲区的 char[]。最后一个字符是“\0”。这是我的服务器代码: char buffer[MAXDATASIZE]; char res[MAXDATA
我在 angular2 项目中遇到问题,我正在生成一个要通过电子邮件发送给用户的 URL。电子邮件中的 URL 需要包含一个特殊 ID,该 ID 在路由器中传递为: { 路径:somepath/:id
我正在尝试删除所有前导和尾随 在使用 PHP 的字符串中。 举个例子 Hello World This is a message... 我想回去 Hello World This is a mes
我有一个 JSON 输出,我想稍微修改一下: JSON={"type":"global", "elements":[ {"type":"car","model":"bmw", "element
继续阅读 ranges-v3 库,我意识到所有关于模板类型有效表达式的检查都有一个尾部 ", 42"表达式,我想知道这样做的目的是什么。例如: namespace concepts { con
我使用的是最新版本的 Xcode (11 Beta 16) 和 macOS (10.15 Beta 6) 我正在尝试创建两个 View 。从第一个 View ,您应该能够通过尾随导航栏项目导航到第二个
我在使用 SwiftUI 时遇到性能问题 List有大量数据。我创建了一个演示应用程序只是为了展示 500_000 String 的问题s 并显示其中一个的尾随 Action ,CPU 将在几秒钟内达
我正在使用 Blue River 的最新 docker 镜像,运行 docker-compose 启动它并在 Mura CMS 中部署一个站点包。 问题是,当我访问 URL 后面没有正斜杠的页面时,我
我是一名优秀的程序员,十分优秀!