删除字符串中特定字符之后的字符,然后删除子字符串?

2024-01-07

当这看起来很简单并且关于字符串/字符/正则表达式有大量问题时,我觉得发布这篇文章有点愚蠢,但我找不到我需要的东西(除了另一种语言:删除特定点之后的所有文本 https://stackoverflow.com/questions/2176544/remove-all-text-after-certain-point).

我有以下代码:

[Test]
    public void stringManipulation()
    {
        String filename = "testpage.aspx";
        String currentFullUrl = "http://localhost:2000/somefolder/myrep/test.aspx?q=qvalue";
        String fullUrlWithoutQueryString = currentFullUrl.Replace("?.*", "");
        String urlWithoutPageName = fullUrlWithoutQueryString.Remove(fullUrlWithoutQueryString.Length - filename.Length);

        String expected = "http://localhost:2000/somefolder/myrep/";
        String actual = urlWithoutPageName;
        Assert.AreEqual(expected, actual);
    }

我尝试了上面问题中的解决方案(希望语法相同!)但是没有。我想首先删除查询字符串,它可以是任何可变长度,然后删除页面名称,它也可以是任何长度。

如何从完整 URL 中删除查询字符串以使测试通过?


对于字符串操作,如果你只想杀死 ? 之后的所有内容,你可以这样做

string input = "http://www.somesite.com/somepage.aspx?whatever";
int index = input.IndexOf("?");
if (index >= 0)
   input = input.Substring(0, index);

编辑:如果最后一个斜杠之后的所有内容,请执行类似的操作

string input = "http://www.somesite.com/somepage.aspx?whatever";
int index = input.LastIndexOf("/");
if (index >= 0)
    input = input.Substring(0, index); // or index + 1 to keep slash

或者,由于您正在使用 URL,因此您可以使用它执行某些操作,如以下代码

System.Uri uri = new Uri("http://www.somesite.com/what/test.aspx?hello=1");
string fixedUri = uri.AbsoluteUri.Replace(uri.Query, string.Empty);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

删除字符串中特定字符之后的字符,然后删除子字符串? 的相关文章

  • fgets() 和 Ctrl+D,三次才能结束?

    I don t understand why I need press Ctrl D for three times to send the EOF In addition if I press Enter then it only too
  • SSH 主机密钥指纹与模式 C# WinSCP 不匹配

    我尝试通过 WinSCP 使用 C 连接到 FTPS 服务器 但收到此错误 SSH 主机密钥指纹 与模式不匹配 经过大量研究 我相信这与密钥的长度有关 当使用 服务器和协议信息 下的界面进行连接时 我从 WinSCP 获得的密钥是xx xx
  • Cygwin 下使用 CMake 编译库

    我一直在尝试使用 CMake 来编译 TinyXML 作为一种迷你项目 尝试学习 CMake 作为补充 我试图将其编译成动态库并自行安装 以便它可以工作 到目前为止 我已经设法编译和安装它 但它编译成 dll 和 dll a 让它工作的唯一
  • 跨多个控件共享事件处理程序

    在我用 C 编写的 Windows 窗体应用程序中 我有一堆按钮 当用户的鼠标悬停在按钮上时 我希望按钮的边框发生变化 目前我有以下多个实例 每个按钮一个副本 private void btnStopServer MouseEnter ob
  • C# 中可空类型是什么?

    当我们必须使用nullable输入 C net 任何人都可以举例说明 可空类型 何时使用可空类型 https web archive org web http broadcast oreilly com 2010 11 understand
  • 将字符串从非托管代码传递到托管

    我在将字符串从非托管代码传递到托管代码时遇到问题 在我的非托管类中 非托管类 cpp 我有一个来自托管代码的函数指针 TESTCALLBACK FUNCTION testCbFunc TESTCALLBACK FUNCTION 接受一个字符
  • 使用 Google Analytics API 在 C# 中显示信息

    我一整天都在寻找一个好的解决方案 但谷歌发展得太快了 我找不到有效的解决方案 我想做的是 我有一个 Web 应用程序 它有一个管理部分 用户需要登录才能查看信息 在本节中 我想显示来自 GA 的一些数据 例如某些特定网址的综合浏览量 因为我
  • 基于范围的 for 循环中的未命名循环变量?

    有没有什么方法可以不在基于范围的 for 循环中 使用 循环变量 同时也避免编译器发出有关未使用它的警告 对于上下文 我正在尝试执行以下操作 我启用了 将警告视为错误 并且我不想进行像通过在某处毫无意义地提及变量来强制 使用 变量这样的黑客
  • 编译的表达式树会泄漏吗?

    根据我的理解 JIT 代码在程序运行时永远不会从内存中释放 这是否意味着重复调用 Compile 表达式树上会泄漏内存吗 这意味着仅在静态构造函数中编译表达式树或以其他方式缓存它们 这可能不那么简单 正确的 他们可能是GCed Lambda
  • 使用 LINQ 查找列表中特定类型的第一个元素

    使用 LINQ 和 C 在元素列表中查找特定类型的第一个项目的最短表示法是什么 var first yourCollection OfType
  • 是否有比 lex/flex 更好(更现代)的工具来生成 C++ 分词器?

    我最近将源文件解析添加到现有工具中 该工具从复杂的命令行参数生成输出文件 命令行参数变得如此复杂 以至于我们开始允许它们作为一个文件提供 该文件被解析为一个非常大的命令行 但语法仍然很尴尬 因此我添加了使用更合理的语法解析源文件的功能 我使
  • 像“1$”这样的位置参数如何与 printf() 一起使用?

    By man I find printf d width num and printf 2 1 d width num 是等价的 但在我看来 第二种风格应该与以下相同 printf d num width 然而通过测试似乎man是对的 为什
  • C 中的位移位

    如果与有符号整数对应的位模式右移 则 1 vacant bit will be filled by the sign bit 2 vacant bit will be filled by 0 3 The outcome is impleme
  • 检查 url 是否指向文件或页面

    我们需要以下内容 如果文件确实是文件 则从 URL 下载该文件 否则 如果它是一个页面 则什么也不做 举个简单的例子 我有以下命令来下载文件 My Computer Network DownloadFile http www wired c
  • 什么是 C 语言的高效工作流程? - Makefile + bash脚本

    我正在开发我的第一个项目 该项目将跨越多个 C 文件 对于我的前几个练习程序 我只是在中编写了我的代码main c并使用编译gcc main c o main 当我学习时 这对我有用 现在 我正在独自开展一个更大的项目 我想继续自己进行编译
  • 在 URL 中发送之前对特殊字符进行百分比编码

    我需要传递特殊字符 如 等 Facebook Twitter 和此类社交网站的 URL 为此 我将这些字符替换为 URL 转义码 return valToEncode Replace 21 Replace 23 Replace 24 Rep
  • EPPlus Excel 更改单元格颜色

    我正在尝试将给定单元格的颜色设置为另一个单元格的颜色 该单元格已在模板中着色 但worksheet Cells row col Style Fill BackgroundColor似乎没有get财产 是否可以做到这一点 或者我是否必须在互联
  • 作为字符串的动态属性名称

    使用 DocumentDB 创建新文档时 我想设置属性名称动态地 目前我设置SomeProperty 像这样 await client CreateDocumentAsync dbs db colls x new SomeProperty
  • 在Linux中使用C/C++获取机器序列号和CPU ID

    在Linux系统中如何获取机器序列号和CPU ID 示例代码受到高度赞赏 Here http lxr linux no linux v2 6 39 arch x86 include asm processor h L173Linux 内核似
  • C++ 成员函数中的“if (!this)”有多糟糕?

    如果我遇到旧代码if this return 在应用程序中 这种风险有多严重 它是一个危险的定时炸弹 需要立即在应用程序范围内进行搜索和销毁工作 还是更像是一种可以悄悄留在原处的代码气味 我不打算writing当然 执行此操作的代码 相反

随机推荐

  • 如何限制pytorch中的参数范围?

    所以通常在pytorch中 模型中的参数没有严格的限制 但是如果我希望它们保持在 0 1 范围内怎么办 有没有办法阻止参数更新超出该范围 一些生成对抗网络 其中一些要求判别器的参数在一定范围内 中使用的一个技巧是在每次梯度更新后限制值 例如
  • HTML 中的“href”值可在 Android 上的 YouTube 应用或市场 (Google Play) 中打开视频

    我正在制作一个显示 360 度视频的网页 但我最近注意到 Android 浏览器中不支持 360 度功能 因此视频无法正确显示 所以经过大量搜索后我发现最好的选择是尝试使用本开发人员教程中解释的 Android Intent 在 YouTu
  • 如何在 Python 中迭代坐标列表并计算它们之间的距离

    我有一个包含 20 个坐标 x 和 y 坐标 的列表 我可以计算任意两个坐标之间的距离 但我很难编写一个算法来迭代列表并计算第一个节点与每个其他节点之间的距离 例如 ListOfCoordinates 1 2 3 4 5 6 7 8 9 1
  • 如何在 tcl 中使用 split 删除不需要的字符

    这是一个例子 Interface IP Address OK Method Status Protocol FastEthernet0 0 unassigned YES unset administratively down down Fa
  • 此类不符合键的键值编码

    我对快速开发非常陌生 我正在努力本节 https developer apple com library ios referencelibrary GettingStarted DevelopiOSAppsSwift Lesson7 htm
  • MacOS:以编程方式向图像添加一些文本?

    我正在将一些代码从 Linux 转换到 Mac 如何以编程方式用文本覆盖图像 类似于 ImageMagick 转换命令 由于各种原因 我不能依赖安装 ImageMagick convert draw text 50 800 hello wo
  • 我们可以迭代 Amazon S3 中的完整对象集吗

    我尝试打印 S3 存储桶中所有对象的元数据 但是 它不会返回超过 1000 个对象的结果 我尝试过实施objectListing isTruncated 但这没有帮助 下面是我列出 1000 多个对象的示例代码 ListObjectsReq
  • Hask 局部很小吗?

    haskell 对象的类别 Hask 是局部小类别的示例吗 http ncatlab org nlab show locally small category http ncatlab org nlab show locally small
  • 使用 mod_cgi 和 mod_perl 捕获错误

    提前感谢大家 我一直在对错误处理进行一些研究 但我觉得我并没有对我应该做什么有充分的了解 前言 我的代码位于 Apache 中并在浏览器中执行 我的目标不包括命令行执行 我希望具有 CGI Carp fatalsToBrowser 的行为
  • window.open 无法打开两个以上的链接

    根据我的要求 我需要创建一个 Google Chrome 扩展程序 只需在单个 Chrome 窗口的不同选项卡中单击一次即可打开多个链接 25 该代码在 Chrome 18 之前一直运行良好 现在 我使用的是 chrome 24 该代码停止
  • 有选择地对数组中的元素取反

    我正在寻找有关 numpy 中 如何选择性地否定数组的值 的一些帮助 已经尝试过了 numpy where and numpy negative但无法对选定的少数人实施条件 import numpy as np arr np arange
  • 使用 ggplot 在 x 轴上显示有限的时间范围

    我希望下图中的 x 轴从 06 00 开始 到 22 00 结束 每 4 小时休息一次 但是 我无法弄清楚以下内容 a 如何使x轴从06 00开始 06 00之前没有任何空白 b 如何使x轴在22 00结束 22 00之后没有任何空白 现在
  • “subl”命令无法正常工作

    在终端中使用 subl 命令时遇到问题 它曾经工作正常 但最近当我运行它时 它确实打开了我想要的文件 但我无法编辑它们 而且 Sublime Text 没有显示在我的 mac 的顶部栏中 就好像它根本没有运行一样 有除了扩展坞中的图标之外也
  • 如何防止加载谷歌图表表格CSS

    每次我使用 Google Charts Table 时 Google 加载程序都会加载一个http ajax googleapis com ajax static modules gviz 1 0 table table css这总是并且几
  • Gulp AssertionError [ERR_ASSERTION]:必须指定任务函数

    我正在尝试为构建的 Web 应用程序的演示自定义模板AngularJS using MacOS 塞拉利昂 10 13 6 我已经安装了Gulp但当我启动时gulp serve返回此错误而不启动本地服务器 assert js 337 抛出错误
  • C - 如何释放动态分配的内存?

    看看这段代码 它是链表的一部分 int main List head1 NULL insertFront head1 1 insertFront head1 2 print head1 free head1 return 0 另一个函数是
  • MFC应用程序标题

    我正在使用 MFC 创建一个简单的时钟应用程序 我的应用程序标题如下 CLOCK CLOCK1 如何将其重置为简单的 CLOCK 仅供参考 我已经启用了文档视图架构 放入 MFC 标题的重写 void CMainFrame OnUpdate
  • 日期时间 x 轴 matplotlib 标签导致不受控制的重叠

    我正在尝试绘制一只熊猫series with a pandas tseries index DatetimeIndex x 轴标签顽固地重叠 即使有几个建议的解决方案 我也无法使它们美观 我试过stackoverflow 解决方案建议使用a
  • 如何解决“找不到模块‘请求上下文’的声明文件。”?

    我目前正在处理三个文件 即index js index main js 和app js 我正在使用请求上下文从index main js 获取变量并将其传递给index js 在 app js 我在服务器文件夹中创建的文件 中 我有以下代码
  • 删除字符串中特定字符之后的字符,然后删除子字符串?

    当这看起来很简单并且关于字符串 字符 正则表达式有大量问题时 我觉得发布这篇文章有点愚蠢 但我找不到我需要的东西 除了另一种语言 删除特定点之后的所有文本 https stackoverflow com questions 2176544